Menu
CoddyTech

Standartlaştırma

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

Birçok model, her özellik 0'da merkezlendiğinde ve yayılımı 1 olduğunda en iyi şekilde öğrenir. Standartlaştırma bunu yapar: her değer, kendi sütunundaki z puanına dönüşür.

Beş balkabağı, kg cinsinden ağırlık ve cm cinsinden genişlik:

Standart sapma cinsinden bir cetvel üzerinde iki nokta sırası: 8 ile 40 kg arasında beş balkabağı ağırlığı ve 30 ile 65 cm arasında beş genişlik; her sıra kendi ortalaması 0'da merkezlenmiştir ve tümü -1.6 ile 1.6 arasındadır

Broadcasting, her sütunu aynı anda standartlaştırır:

pumpkins = np.array([[30, 60],
                     [8, 30],
                     [22, 55],
                     [40, 65],
                     [15, 40]])
z = (pumpkins - pumpkins.mean(axis=0)) / pumpkins.std(axis=0)
print(np.round(z.mean(axis=0), 2))
print(np.round(z.std(axis=0), 2))

Bu çıktıyı verir:

[0. 0.]
[1. 1.]

Kontrol etmeden önce yuvarlayın: yuvarlanmamış hâliyle 0 ortalama, yuvarlama hatasının küçük bir izi olarak 2.22044605e-17 şeklinde yazdırılabilir.

Min-maksın aksine sabit bir aralık yoktur: değerlerin çoğu -2 ile 2 arasında yer alır.

challenge icon

Görev

Orta

Bir süt çiftliği sıra dışı inekleri tespit ediyor. cows içindeki her satır bir ineği temsil eder: features içinde adlandırılan süt (günde litre), ağırlık (kg) ve yaş (yıl). Program bir ineğin konumunu k okur.

  1. standardize(X) işlevini tamamla. Kontrol satırları ardından [0. 0. 0.] ve [1. 1. 1.] çıktılarını verir.
  2. İşaretini dikkate almadan, k numaralı ineğin 0'dan en uzak z-skorunu bul ve aşağıdaki gibi 2 ondalık basamakla yazdır.

Başka bir çiftlikteki bir inek için:

Column means: [0. 0. 0.]
Column stds: [1. 1. 1.]
Cow 2 stands out by weight: 1.76 std above the herd

Kendin dene

import numpy as np

features = ["milk", "weight", "age"]
# Her inek için bir satır: günlük süt miktarı litre cinsinden, ağırlık kg cinsinden, yaş yıl cinsinden
cows = np.array([[28, 610, 6],
                 [22, 540, 3],
                 [35, 680, 6],
                 [31, 590, 9],
                 [19, 650, 4],
                 [26, 520, 2],
                 [30, 600, 7]])
k = int(input())


# Her sütunu standartlaştırılmış X'i döndürür: ortalama 0 ve standart sapma 1
def standardize(X):
    # Aşağıdaki satırı standartlaştırma işlemiyle değiştirin
    return X


# Aşağıdaki üç satırı değiştirmeyin: fonksiyonunuzu kontrol ederler
z = standardize(cows)
print("Column means:", np.round(z.mean(axis=0), 2))
print("Column stds:", np.round(z.std(axis=0), 2))

# Kodunuzu aşağıya yazın: k ineğinin dikkat çeken özelliği nedir?
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