fit metodu
- Makine Öğrenmesi kursu
- Orta seviye
- Ders 3/112
- 5 dk
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 önemlifit 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 bekleniyorfit_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
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
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.
m.fit(X, y, ____=w)
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ı |