t-Testi
Coddy'nin Machine Learning Journey'sinin Makine Öğrenimi için İstatistik bölümünün bir parçası. Ders 45 / 64.
Bilgisayarlardan önce istatistikte bir kestirme yol vardı: t-testi. Bir formül, ortalamaları, yayılımları ve grup büyüklüklerini tek seferde bir p-değerine dönüştürür:
from scipy import stats
result = stats.ttest_ind(sans, serif)
print(np.round(result.pvalue, 3))
print(np.round(result.statistic, 2))Yazı tipi çalışması için bu, 0.031 ve -2.61 değerlerini yazdırır. 1000 karıştırma 0.039 verdi: her zamanki gibi yakın.
t değeri, standart hatalar cinsinden farkı gösterir; işareti yalnızca hangi grubun önce geldiğini belirtir. Formül, çan eğrisi şeklinde dağılan verileri varsayar; bu nedenle, çarpık dağılıma sahip küçük gruplarda permütasyonlara güven.
Ayrıca bir modelin diğerini gerçekten geçip geçmediğini de kontrol eder.
Görev
OrtaBir boya üreticisi üç boya türünün kuruma süresini ölçtü. Başlangıç kodu her türün dakika değerlerini times içine koyar, üç pairs listeler, permutation_p(a, b) tanımlar ve level değerini okur.
- Mat ile saten için t-testinin p-değerini, permütasyonların p-değerinin yanında yazdır.
- Her çifti, ilk boya türü önce gelecek şekilde test et ve p-değeri en küçük olanı yazdır.
leveldeğerinin altındaki çiftleri say.
p-değerlerini 3 ondalık basamağa yuvarla. Başka bir üretici, level 0.05:
matte vs satin: t-test 0.012, simulation 0.023
Clearest difference: satin vs gloss (p = 0.0)
Pairs that differ: 3 of 3Kendin dene
import numpy as np
import pandas as pd
from scipy import stats
# Son iki derste ele alınan permütasyon testi: a ile b karşılaştırması için p-değerini döndürür
def permutation_p(a, b, shuffles=1000, seed=0):
rng = np.random.default_rng(seed)
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())
real = b.mean() - a.mean()
return (np.abs(np.array(diffs)) >= np.abs(real)).mean()
paint = pd.read_csv("paint.csv")
times = {
"matte": paint[paint["finish"] == "matte"]["minutes"],
"satin": paint[paint["finish"] == "satin"]["minutes"],
"gloss": paint[paint["finish"] == "gloss"]["minutes"],
}
pairs = [("matte", "satin"), ("matte", "gloss"), ("satin", "gloss")]
level = float(input())
# 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