Değerlendirme
- Makine Öğrenmesi kursu
- Orta seviye
- Ders 96/112
- 7 dk
Modeli değerlendirirsin.
Değerlendirme
Son ölçüm test kümesinde bir kez yapılır. Raporda temel çizgi (DummyRegressor), ham özelliklerle model ve türetilmiş özelliklerle model yan yana gösterilir:
# temel: her konuta ortalama fiyat
# ham: 10 sütun
# final: 12 sütun (oda başına m² ve log uzaklık eklenmiş)Bu tablo projenin her adımının ne kazandırdığını açıkça gösterir.
Katsayıları yorumlamak
Ölçekli doğrusal modelde katsayılar "bir standart sapmalık değişimin fiyata etkisi"dir ve karşılaştırılabilir. İşaretler alan bilgisiyle uyuşmalı: metrekare pozitif, uzaklık ve yaş negatif:
ridge = final["ridge"]
for ad, c in zip(adlar, ridge.coef_):
print(ad, round(c))Beklenmedik bir işaret (ör. yaş pozitif) veri hatasının ya da ilişkili özelliklerin işaretidir.
Uygulama Final karşılaştırma
Test kümesinde üç modelin MAE'sini hesapla: DummyRegressor, ham 10 sütunla make_pipeline(StandardScaler(), Ridge(alpha=1.0)) ve aynı hattın 12 sütunlu (türetilmiş özellikli) final sürümü. Üç MAE'yi round ile tam sayı olarak aynı satırda yazdır.
Başlangıç kodu
import numpy as np
rng = np.random.default_rng(11)
n = 500
m2 = rng.uniform(40, 200, n)
oda = np.clip(np.round(m2 / 35 + rng.normal(0, 0.7, n)), 1, 6)
yas = rng.uniform(0, 40, n)
kat = rng.integers(0, 15, n)
merkez_km = rng.uniform(0.5, 25, n)
gurultu = rng.normal(size=(n, 5))
fiyat = 20 * m2 + 150 * m2 / oda - 2500 * np.log1p(merkez_km) - 40 * yas + 60 * kat + rng.normal(0, 300, n)
X = np.column_stack([m2, oda, yas, kat, merkez_km, gurultu])
X2 = np.column_stack([X, m2 / oda, np.log1p(merkez_km)])
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X2, fiyat, test_size=0.25, random_state=0)
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.feature_selection import SelectKBest, f_regression
from sklearn.linear_model import Ridge
from sklearn.dummy import DummyRegressor
from sklearn.metrics import mean_absolute_error
# buraya yazÖrnek çözüm
import numpy as np
rng = np.random.default_rng(11)
n = 500
m2 = rng.uniform(40, 200, n)
oda = np.clip(np.round(m2 / 35 + rng.normal(0, 0.7, n)), 1, 6)
yas = rng.uniform(0, 40, n)
kat = rng.integers(0, 15, n)
merkez_km = rng.uniform(0.5, 25, n)
gurultu = rng.normal(size=(n, 5))
fiyat = 20 * m2 + 150 * m2 / oda - 2500 * np.log1p(merkez_km) - 40 * yas + 60 * kat + rng.normal(0, 300, n)
X = np.column_stack([m2, oda, yas, kat, merkez_km, gurultu])
X2 = np.column_stack([X, m2 / oda, np.log1p(merkez_km)])
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X2, fiyat, test_size=0.25, random_state=0)
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.feature_selection import SelectKBest, f_regression
from sklearn.linear_model import Ridge
from sklearn.dummy import DummyRegressor
from sklearn.metrics import mean_absolute_error
temel = DummyRegressor().fit(X_train, y_train)
ham = make_pipeline(StandardScaler(), Ridge(alpha=1.0)).fit(X_train[:, :10], y_train)
final = make_pipeline(StandardScaler(), Ridge(alpha=1.0)).fit(X_train, y_train)
print(round(mean_absolute_error(y_test, temel.predict(X_test))), round(mean_absolute_error(y_test, ham.predict(X_test[:, :10]))), round(mean_absolute_error(y_test, final.predict(X_test))))Beklenen çıktı
2387 852 218
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 İki türetilmiş sütun eklenince doğrusal modelin MAE'si yarıdan fazla düşüyorsa ne söylenir?
- Türetilmiş sütunlar sızıntıdır
- Model aşırı öğrenmiştir
- Test kümesi hatalıdır
- Ham sütunlar, doğrusal modelin göremediği ilişkileri gizliyordu Doğru cevap
Açıklama: Oran ve logaritma ilişkileri doğrusal bir modele ancak sütun olarak verilince öğrenilebilir.
2 Temel regresörü oluştur.
temel = ____().fit(X_train, y_train)
temel = DummyRegressor().fit(X_train, y_train)
Açıklama: DummyRegressor varsayılan olarak ortalamayı tahmin eder.
3 Rapor satırlarını eşleştir.
| Kavram | Anlamı |
|---|---|
DummyRegressor |
Temel çizgi |
ham model |
Özellik işi öncesi |
final model |
Türetilmiş özelliklerle |
katsayı işareti |
Alan bilgisiyle denetim |