Makine Öğrenmesi
Model seçimi nedir?
Model seçimi, en iyi performans veren modeli ve parametreleri bulma sürecidir.
Model seçimi nedir?
Aynı problem için birçok model (KNN, ağaç, lojistik regresyon) ve her modelin birçok ayarı vardır. Model seçimi, yeni veride en iyi çalışacak kombinasyonu adil biçimde bulma işidir.
adaylar = {
"knn": KNeighborsClassifier(),
"agac": DecisionTreeClassifier(random_state=0),
"lojistik": LogisticRegression(max_iter=1000),
}
Adil karşılaştırmanın koşulu: tüm adaylar aynı veriyle, aynı yöntemle ölçülür ve test kümesi seçime karışmaz.
Sapma ve varyans
Model seçimi bir denge arayışıdır:
- Yüksek sapma: model çok basit, deseni yakalayamaz (eksik öğrenme). Eğitim ve test skoru birlikte düşük.
- Yüksek varyans: model çok esnek, gürültüyü öğrenir (aşırı öğrenme). Eğitim yüksek, test düşük.
Karmaşıklık arttıkça sapma azalır, varyans artar; en iyi nokta ikisinin toplam hatasının en küçük olduğu yerdir.
Uygulama Adayları karşılaştır
Üç adayı aynı eğitim/test bölmesiyle eğit. Her satırda adı ve test doğruluğunu round(..., 3) ile yazdır.
Örnek çözümü göster
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.linear_model import LogisticRegression
X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0, stratify=y)
adaylar = {"knn": KNeighborsClassifier(), "agac": DecisionTreeClassifier(random_state=0), "lojistik": LogisticRegression(max_iter=1000)}
for ad, model in adaylar.items():
model.fit(X_train, y_train)
print(ad, round(model.score(X_test, y_test), 3))
Kendini test et
-
Model seçerken test kümesine bakmak neden yanlıştır?
- Kod hata verir
- Yanlış değildir
- Test skoru iyimser olur; gerçek başarı bilinmez
- Test kümesi çok küçüktür
Cevabı göster
Test skoru iyimser olur; gerçek başarı bilinmez — Test kümesine göre seçilen model ona uyarlanmış olur; bağımsız ölçüm kalmaz.
-
Adayları sözlükte gez.
for ad, model in adaylar.____():
Cevabı göster
for ad, model in adaylar.items():
-
Belirtileri eşleştir.
- Eğitim ve test düşük
- Yüksek sapma
- Eğitim yüksek, test düşük
- Yüksek varyans
- İkisi yüksek ve yakın
- İyi denge
- Test ile seçim
- İyimser skor
Sıradaki ders: Cross-validation