Menu
CoddyTech

Z-Skoru Kuralı

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

Bir çiftlik 300 yumurtayı tarttı, ardından iki tanesini elle yazdı: 6.2 g ve 94.6 g; ikisi de yazım hatasıydı. z puanları (ortalama ile aralarındaki uzaklık, standart sapma cinsinden) hataları ortaya çıkarıyor:

300 yumurta ağırlığının z puanları olarak gösterildiği bir histogram; tümü 3 std içinde işaretlenmiş gölgeli bir bantta, -3 ile 3 arasındadır. İki kırmızı nokta bandın çok dışında yer alır: z = -9.9 değerinde 6.2 g ve z = 6.3 değerinde 94.6 g

np.abs eksi işaretlerini kaldırır, böylece tek bir karşılaştırma her iki tarafı da yakalar:

rng = np.random.default_rng(3)
eggs = np.concatenate([rng.normal(60, 4, size=300), np.array([6.2, 94.6])])
z = (eggs - eggs.mean()) / eggs.std()
print(np.abs(np.array([-4, 2, -1])))
print(eggs[np.abs(z) > 3])

Bu, şunu yazdırır:

[4 2 1]
[ 6.2 94.6]

Çan eğrisi şeklindeki verilerde, değerlerin %99,7'si 3 standart sapma içinde yer alır; bu nedenle np.abs(z) > 3, eğitimden önce kontrol edilmesi gereken nadir değerleri işaretler.

Ancak bir aykırı değer, ölçüldüğü örneklemin standart sapmasını artırır; bu nedenle küçük örneklemlerde gizli kalır: bu durumlarda IQR kuralını kullanın.

challenge icon

Görev

Orta

Bir fırının terazisi 250 somunu loaves dizisine tarttı ve 3 somun daha elle girildi. Program bir eşik değeri okur.

  1. Dizinin .mean() ve .std() yöntemleriyle her somunun z puanını hesapla.
  2. Sıra konumuna göre, z puanı 0'dan eşik değerinden daha fazla uzak olan her somunu yazdır: konumu, ağırlığı (1 ondalık basamak) ve z puanı (2 ondalık basamak).
  3. Listelediğin somunların sayısını yazdır.

Başka bir gün ve eşik değeri 3 için:

Loaf 200: 702.5 g, z = -5.38
Loaf 201: 889.3 g, z = 4.91
Loaves to re-weigh: 2

Kendin dene

import numpy as np

# Aşağıdaki satırları değiştirmeyin: 250 somun tartıyla tartıldı, ardından 3 ağırlık elle girildi
rng = np.random.default_rng(25)
loaves = np.concatenate([rng.normal(800, 15, size=250), np.array([731.4, 868.9, 912.3])])
cutoff = float(input())

# Kodunuzu aşağıya yazın
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