Menu
CoddyTech

Normal Eğri

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

Boylar, sınav notları, pirinç çuvalları: birçok ölçüm normal dağılım olarak, yani çan eğrisi biçiminde birikir. Tek bir makineden çıkan 500 çuval:

Üzerinde turuncu bir çan eğrisi bulunan, 500 pirinç çuvalının ağırlıklarını gösteren bir yoğunluk histogramı. Kesikli çizgi, tepe noktasındaki ortalamayı (1000 g) gösteriyor; 8 g uzunluğundaki bir ok ise standart sapmayı, yani genişliği gösteriyor.

İki sayı bunu çizer: ortalama tepe noktasını belirler, std genişliği ayarlar. Bilim kütüphanesi SciPy formülü bilir:

from scipy import stats

ax.hist(bags, bins=16, density=True)
xs = np.linspace(bags.min(), bags.max(), 100)
ax.plot(xs, stats.norm.pdf(xs, bags.mean(), bags.std()))

stats.norm.pdf(x, mean, std), eğrinin x noktasındaki yüksekliğidir; tek bir değer veya bir dizi olabilir. Eğrinin alanı, yoğunluk histogramındaki gibi 1'dir; bu nedenle ikisi aynı grafikte gösterilebilir.

Bazı modeller yaklaşık olarak normal dağılımlı özellikleri tercih eder. Bu grafik bunu kontrol eder.

challenge icon

Görev

Kolay

Cıvatalar 50 mm uzunluğunda olmalıdır. Başlangıç kodu, lengths içinde 240 ölçülmüş uzunluğu tutar ve grafiği hazırlar. Bunları bir normal eğriyle karşılaştır:

  1. Aşağıdaki gibi, ortalamalarını ve std değerini (np.std) 2 ondalık basamağa yuvarlayarak yazdır.
  2. bins=15 ile bir yoğunluk histogramı çiz.
  3. Üzerine uyarlanmış eğriyi çiz: en kısa cıvatadan en uzun cıvataya kadar 100 nokta.
  4. Grafiği göster.

Başka bir parti için:

Fitted curve: mean 49.99 mm, std 0.42 mm

ve grafik:

Yaklaşık 49 ile 51 mm arasındaki 180 cıvata uzunluğunun yoğunluk histogramı; üzerinde, 50 civarında tepe yapan düzgün bir çan eğrisi

Kendin dene

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

# Aşağıdaki satırları değiştirmeyin
rng = np.random.default_rng(31)
lengths = np.round(rng.normal(50, 0.4, size=240), 2)

fig, ax = plt.subplots()
ax.set_title("Bolt Lengths")
ax.set_xlabel("Length (mm)")
ax.set_ylabel("Density")

# 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