Menu
CoddyTech

Varyans ve Standart Sapma

Coddy'nin Machine Learning Journey'sinin Makine Öğrenimi için İstatistik bölümünün bir parçası. Ders 3 / 64.

.std() ortalamadan tipik uzaklıktır. Burada, beş espresso shot'ı için elle hesaplanmıştır:

26 saniyedeki turuncu ortalama çizgisinin etrafında noktalar olarak gösterilen beş espresso shot'ı. Gri bir çizgi her noktayı çizgiye bağlar ve sapmaları etiketler: -2, +1, -1, +4 ve -2

Ortalamaya olan her fark bir sapmadır. Bunların toplamı 0 olur; bu yüzden karelerini alın ve ardından ortalamasını bulun: varyans.

shots = np.array([24, 27, 25, 30, 24])
deviations = shots - shots.mean()
variance = (deviations ** 2).mean()
print(deviations)
print(variance, np.round(np.sqrt(variance), 2))

Şunu yazdırır:

[-2.  1. -1.  4. -2.]
5.2 2.28

Karekökü olan standart sapma, saniye kareyi yeniden saniyeye dönüştürür: 2.28. np.var(a) ve np.std(a) işlemlerin her birini tek bir çağrıda yapar.

Standart sapması 0 olan bir özellik hiçbir zaman değişmez, dolayısıyla modele hiçbir şey anlatmaz.

challenge icon

Görev

Kolay

Kalite kontrolü, bir makinenin meyve suyu şişelerini ne kadar eşit doldurduğunu kontrol eder. Başlangıç kodu, ml cinsinden altı hacmi okur ve spread_by_hand(a) fonksiyonunun döndürdüğü değeri np.std ile birlikte yazdırır. Bu fonksiyonu, şunları döndürecek şekilde tamamla:

  1. varyans: a'nın ortalamasından sapmaların karelerinin ortalaması,
  2. standart sapma: varyansın karekökü.

1004, 996, 1011, 993, 1002 ve 998 hacimleri için:

Variance: 34.56 ml squared
Std: 5.88 ml
Same as np.std: True

Kendin dene

import numpy as np

values = []
for i in range(6):
    values.append(int(input()))
volumes = np.array(values)


# a dizisinin varyansını ve standart sapmasını döndürür
def spread_by_hand(a):
    # Kodunuzu buraya yazın, ardından 0, 0 yerine iki değeri döndürün
    return 0, 0


# Aşağıdaki satırları değiştirmeyin
variance, std = spread_by_hand(volumes)
print(f"Variance: {np.round(variance, 2)} ml squared")
print(f"Std: {np.round(std, 2)} ml")
print("Same as np.std:", np.round(std, 2) == np.round(np.std(volumes), 2))
quiz iconKendini test et

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

Kendi başına pratik yap: Online Python derleyicisi