CodeBlanks Logo Icon CodeBlanks

Model eğitimi

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ır

Aynı 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_"))   # True

Sondaki 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

model.py
from sklearn.linear_model import LinearRegression

X = [[1], [2], [3]]
y = [2, 4, 6]

# buraya yaz

Örnek çözüm

model.py
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.

Soru
m = LinearRegression().____(X, y)
Cevap
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

Başlangıç bölümündeki tüm dersler