P-Değerleri
Coddy'nin Machine Learning Journey'sinin Makine Öğrenimi için İstatistik bölümünün bir parçası. Ders 44 / 64.
p-value, karıştırmaları tek bir sayıya dönüştürür: her iki yönde de gerçek fark kadar büyük veya daha büyük olan sahte farkların oranı.
Kodda, yazı tipi çalışması için:
real = sans.mean() - serif.mean()
rng = np.random.default_rng(4)
diffs = shuffled_diffs(serif, sans, 1000, rng) # önceki dersin döngüsü
p_value = (np.abs(diffs) >= np.abs(real)).mean()
print(p_value)Bu, 0.039 yazdırır. np.abs, -7'lik bir farkı 7 kadar büyük sayar: soru, yazı tiplerinin farklı olup olmadığıdır.
Genellikle 0.05 olan anlamlılık düzeyinin altında, bir yazı tipinin veya modelin kazancı için şans zayıf bir açıklamadır. Bu, kanıt değildir: 100 karıştırmanın 4’ünde yine de oldu.
Görev
OrtaBir çiftlik çilekleri sabahları veya akşamları sular. Başlangıç kodu strawberries.csv dosyasını morning ve evening olarak ayırır, columns listesini oluşturur, level değerini okur ve shuffled_diffs işlevini tanımlar.
- Her sütun için gerçek farkı (akşam ortalaması eksi sabah ortalaması), karıştırılmış farkları (önce sabah) ve p-değerini hesapla.
- Aşağıdaki gibi sütun başına bir satır yazdır (fark 2 ondalık, p 3 ondalık): p değeri
leveldeğerinden düşük olduğundadiffersyazdır. - Farklı olanları say.
Başka bir çiftlik, 0.05 seviyesi:
berries: difference -5.4, p = 0.009, differs
weight_g: difference 0.2, p = 1.0, could be chance
sweetness_brix: difference 0.46, p = 0.022, differs
leaf_spots: difference 0.6, p = 0.397, could be chance
Columns that differ: 2 of 4Kendin dene
import numpy as np
import pandas as pd
# Bir permütasyon testinin karıştırılmış farklarını döndürür (43. dersin döngüsü): sahte b ortalaması eksi sahte a ortalaması
def shuffled_diffs(a, b, shuffles, rng):
pooled = np.concatenate([a, b])
diffs = []
for i in range(shuffles):
shuffled = rng.permutation(pooled)
diffs.append(shuffled[len(a):].mean() - shuffled[:len(a)].mean())
return np.array(diffs)
beds = pd.read_csv("strawberries.csv")
morning = beds[beds["watering"] == "morning"]
evening = beds[beds["watering"] == "evening"]
columns = ["berries", "weight_g", "sweetness_brix", "leaf_spots"]
level = float(input())
# Aşağıdaki satırları değiştirmeyin
rng = np.random.default_rng(21)
shuffles = 1000
# Kodunuzu aşağıya yazın
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Makine Öğrenimi için İstatistik bölümündeki tüm dersler
1Merkez ve Yayılım
Ortalama ve MedyanYüzdelikler ve ÇeyreklerVaryans ve Standart SapmaÖrneklem mi, Anakütle mi?En Sık Görülen DeğerÖzet: Teslimat Süreleri4Örneklemler ve Anakütleler
Anakütle ve ÖrneklemÖrneklem Ortalamaları DeğişirÖrnekleme DağılımıDaha Büyük Örneklemler, Daha Az GürültüÖzet: Bir Kasabada Anket Yapmak7Eğilim Doğruları
ArtıklarEn Küçük Kareler UydurmasıUydurma Doğrusunu ÇizmeBir Doğruyla Tahmin YapmaUydurma Ne Kadar İyi?Tekrar: Alıştırma Saatleri10Kategorileri Kodlama
Sayılar Olarak KategorilerOne-Hot EncodingSayıları Gruplara AyırmaÖzet: Araba İlanları2Dağılımlar
Yoğunluk HistogramlarıVeri Dağılımlarının ŞekilleriNormal Eğri68-95-99,7 KuralıZ PuanlarıÖzet: Pil Ömrü5Aykırı Değerler
Kutu GrafikleriIQR KuralıZ-Skoru KuralıAykırı Değerleri Ele AlmaÖzet: Sensör Hataları8Grupları Karşılaştırma
Gruplara Göre Kutu GrafikleriOrtalamalar Arasındaki FarkŞans Eseri Olabilir mi?P-Değerlerit-TestiÖzet: A/B Testi11Bir Veri Kümesini Keşfetmek
İlk BakışTüm Özellikler Bir AradaÖzellikler ve EtiketEn İyi İki ÖzellikÖzet: Diyabet Verileri3Simülasyonla Olasılık
Frekans Olarak OlasılıkBüyük Sayılar YasasıZarların ToplamıBeklenen DeğerKoşullu OlasılıkTekrar: Zar Tezgâhının Olasılıkları6İlişkiler
Dağılım Grafiklerini OkumaKorelasyonKorelasyon MatrisiKorelasyon Isı HaritalarıKorelasyon Nedensellik DeğildirÖzet: Dondurma ve GüneşKendi başına pratik yap: Online Python derleyicisi