CodeBlanks Logo Icon CodeBlanks

fit metodu

fit() metodu modeli eğitim verisinden öğrenir.

fit: öğrenme anı

fit(X, y) estimator'ın durumunu değiştirir ve self döndürür. Denetimsiz estimator'lar yalnızca X alır. Ayrıca bazı modeller ağırlıklı öğrenme için sample_weight kabul eder:

m = LogisticRegression().fit(X, y)
KMeans(n_clusters=3, n_init=10).fit(X)          # y yok
m.fit(X, y, sample_weight=agirliklar)          # bazı örnekler daha önemli

fit girdileri denetler: boyut uyumsuzluğu, NaN ya da metin değerler anlaşılır hatalar üretir.

fit_transform ve n_features_in_

Dönüştürücülerde fit_transform, fit + transform'u tek adımda (çoğu zaman daha hızlı) yapar. fit sonrası n_features_in_ beklenen özellik sayısını saklar; farklı sayıda sütunla predict çağrılırsa hata alınır:

sc = StandardScaler()
Z = sc.fit_transform(X_train)
print(sc.n_features_in_)   # 4
# sc.transform(X_train[:, :3])  ValueError: 4 özellik bekleniyor

fit_transform yalnızca eğitim verisinde kullanılır; test verisine her zaman transform uygulanır.

Uygulama Ağırlıklı eğitim

Aynı veride LinearRegression'ı önce ağırlıksız, sonra son örneğe 100 ağırlık vererek eğit. İki eğimi (coef_[0]) round(..., 3) ile alt alta yazdır.

Başlangıç kodu

model.py
import numpy as np
from sklearn.linear_model import LinearRegression

X = np.array([[1], [2], [3], [4]])
y = np.array([1, 2, 3, 10])
w = np.array([1, 1, 1, 100])

# buraya yaz

Örnek çözüm

model.py
import numpy as np
from sklearn.linear_model import LinearRegression

X = np.array([[1], [2], [3], [4]])
y = np.array([1, 2, 3, 10])
w = np.array([1, 1, 1, 100])

a = LinearRegression().fit(X, y)
b = LinearRegression().fit(X, y, sample_weight=w)
print(round(a.coef_[0], 3))
print(round(b.coef_[0], 3))

Beklenen çıktı

2.8
3.56

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 <code>fit</code> çağrısının dönüş değeri nedir?

  • None
  • Estimator'ın kendisi Doğru cevap
  • Tahminler
  • Skor

Açıklama: Bu sayede m = Model().fit(X, y) zincirlemesi yazılabilir.

2 Örnekleri ağırlıklandırarak eğit.

Soru
m.fit(X, y, ____=w)
Cevap
m.fit(X, y, sample_weight=w)

Açıklama: sample_weight her örneğin kayba katkısını ölçekler.

3 Öznitelik ve yöntemleri eşleştir.

Kavram Anlamı
fit Öğrenir, self döndürür
fit_transform Öğren ve dönüştür
n_features_in_ Beklenen sütun sayısı
sample_weight Örnek ağırlıkları

Orta seviye bölümündeki tüm dersler