Makine Öğrenmesi
Model eğitimi
Lineer regresyon modelini eğitirsin.
Model eğitimi
Bir temel çizgi ve iki aday eğiteceğiz: ortalamayı tahmin eden DummyRegressor, LinearRegression ve hafif düzenlileştirilmiş Ridge:
from sklearn.dummy import DummyRegressor
from sklearn.linear_model import LinearRegression, Ridge
adaylar = {
"ortalama": DummyRegressor(),
"dogrusal": LinearRegression(),
"ridge": Ridge(alpha=1.0),
}
Ridge, büyük ağırlıkları cezalandırarak modeli gürültüye karşı daha kararlı yapar; ayrıntısını orta seviyede göreceksin.
Çapraz doğrulamayla seçim
Adayları test kümesine bakmadan, eğitim kümesinde 5 katlı doğrulamayla karşılaştırırız. Ölçüt olarak MAE kullanacağız:
for ad, m in adaylar.items():
s = -cross_val_score(m, X_train, y_train, cv=5,
scoring="neg_mean_absolute_error")
print(ad, s.mean().round(1))
Başa konan eksi işareti, scikit-learn'ün negatif verdiği hatayı yeniden pozitif yapar. Bu veride özellikler çok küçük ölçekli olduğu için alpha=1.0 fazla ceza verir ve Ridge geride kalır; sonraki adımlarda en düşük MAE'yi veren LinearRegression ile devam edeceğiz.
Uygulama Adayları doğrula
Üç adayı eğitim kümesinde 5 katlı doğrulamayla MAE üzerinden karşılaştır. Her satırda adı ve ortalama MAE'yi round(..., 1) ile yazdır.
Örnek çözümü göster
from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split
X, y = load_diabetes(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
from sklearn.model_selection import cross_val_score
from sklearn.dummy import DummyRegressor
from sklearn.linear_model import LinearRegression, Ridge
adaylar = {"ortalama": DummyRegressor(), "dogrusal": LinearRegression(), "ridge": Ridge(alpha=1.0)}
for ad, m in adaylar.items():
s = -cross_val_score(m, X_train, y_train, cv=5, scoring="neg_mean_absolute_error")
print(ad, round(s.mean(), 1))
Kendini test et
-
<code>DummyRegressor()</code> varsayılan olarak ne tahmin eder?
- Rastgele değer
- Medyanı
- Eğitim hedefinin ortalamasını
- Sıfır
Cevabı göster
Eğitim hedefinin ortalamasını — strategy="mean" varsayılandır; R² skoru 0 civarı çıkar.
-
Ölçüt olarak negatif MAE kullan.
cross_val_score(m, X_train, y_train, cv=5, scoring=____)
Cevabı göster
cross_val_score(m, X_train, y_train, cv=5, scoring="neg_mean_absolute_error")
-
Modelleri eşleştir.
- DummyRegressor
- Temel çizgi
- LinearRegression
- Sade doğrusal model
- Ridge
- Cezalı doğrusal model
- neg_mean_absolute_error
- CV için MAE
Sıradaki ders: Tahmin