Model eğitimi
- Makine Öğrenmesi kursu
- Başlangıç
- Ders 43/112
- 5 dk
Model, fit() metodu ile eğitim verisinden öğrenir ve ağırlıkları günceller.
fit ne yapar?
fit(X, y) çağrıldığında model parametrelerini veriden hesaplar ve nesnenin içinde saklar. Yöntem nesnenin kendisini döndürdüğü için zincirleme yazılabilir:
m = LinearRegression()
m.fit(X, y) # m artık eğitildi
m2 = LinearRegression().fit(X, y) # tek satırAynı modelde fit'i yeniden çağırmak önceki öğrenmeyi siler ve sıfırdan eğitir.
Eğitilmemiş modeli kullanmak
fit çağrılmadan predict kullanılırsa scikit-learn NotFittedError verir. Öğrenilen öznitelikler (coef_ gibi) de fit'ten önce yoktur:
m = LinearRegression()
print(hasattr(m, "coef_")) # False
m.fit(X, y)
print(hasattr(m, "coef_")) # TrueSondaki alt çizgi kuralı bu yüzden yararlıdır: _ ile biten her şey eğitimden sonra vardır.
Uygulama Eğit ve doğrula
Bir LinearRegression oluştur. fit'ten önce ve sonra hasattr(m, "coef_") değerini yazdır.
Başlangıç kodu
from sklearn.linear_model import LinearRegression
X = [[1], [2], [3]]
y = [2, 4, 6]
# buraya yazÖrnek çözüm
from sklearn.linear_model import LinearRegression
X = [[1], [2], [3]]
y = [2, 4, 6]
m = LinearRegression()
print(hasattr(m, "coef_"))
m.fit(X, y)
print(hasattr(m, "coef_"))Beklenen çıktı
False True
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Eğitilmiş bir modelde <code>fit</code> yeni veriyle tekrar çağrılırsa ne olur?
- Hata verir
- Hiçbir şey olmaz
- Model yalnızca yeni veriyle sıfırdan eğitilir Doğru cevap
- Eski ve yeni veri birleşir
Açıklama: fit her seferinde parametreleri baştan hesaplar.
2 Modeli tek satırda oluşturup eğit.
m = LinearRegression().____(X, y)
m = LinearRegression().fit(X, y)
Açıklama: fit nesnenin kendisini döndürür, zincirleme mümkündür.
3 Durumları eşleştir.
| Kavram | Anlamı |
|---|---|
fit öncesi predict |
NotFittedError |
fit sonrası coef_ |
Öğrenilmiş ağırlık |
fit dönüşü |
Modelin kendisi |
ikinci fit |
Sıfırdan eğitim |