K parametresi
- Makine Öğrenmesi kursu
- Başlangıç
- Ders 48/112
- 5 dk
K, komşu sayısını belirler; küçük K fazla, büyük K az uyuma yol açar.
K seçimi
K küçükse model her gürültülü örneğe uyar (aşırı öğrenme); K büyükse uzaktaki örnekler de oy verir ve sınır fazla düzleşir (eksik öğrenme).
for k in [1, 5, 15]:
m = KNeighborsClassifier(n_neighbors=k).fit(X_train, y_train)
print(k, m.score(X_train, y_train), m.score(X_test, y_test))K=1'de eğitim doğruluğu hep 1.0'dır, çünkü her eğitim noktasının en yakın komşusu kendisidir; bu yanıltıcıdır.
Tek sayı ve doğrulama
İki sınıflı problemlerde K tek sayı seçilir ki oylar eşit bölünmesin. En iyi K, test kümesine değil doğrulama ya da çapraz doğrulama sonuçlarına bakılarak seçilir:
from sklearn.model_selection import cross_val_score
for k in [1, 3, 5, 7, 9]:
s = cross_val_score(KNeighborsClassifier(k), X, y, cv=5).mean()
print(k, round(s, 3))Çapraz doğrulamayı orta seviyede ayrıntılı göreceksin.
Uygulama K karşılaştır
K = 1, 3, 5 için birer model eğit ve her satırda K ile eğitim doğruluğunu yazdır.
Başlangıç kodu
from sklearn.neighbors import KNeighborsClassifier
X = [[1], [2], [3], [4], [5], [6], [7], [8]]
y = [0, 0, 1, 0, 1, 1, 0, 1]
# buraya yazÖrnek çözüm
from sklearn.neighbors import KNeighborsClassifier
X = [[1], [2], [3], [4], [5], [6], [7], [8]]
y = [0, 0, 1, 0, 1, 1, 0, 1]
for k in [1, 3, 5]:
m = KNeighborsClassifier(n_neighbors=k).fit(X, y)
print(k, m.score(X, y))Beklenen çıktı
1 1.0 3 0.625 5 0.625
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 K=1 iken eğitim doğruluğu neden genellikle 1.0 çıkar?
- Her eğitim noktasının en yakın komşusu kendisidir Doğru cevap
- Model mükemmeldir
- Veri azdır
- Mesafe sıfır olamaz
Açıklama: Model kendi etiketini okur; test doğruluğu ise genellikle daha düşüktür.
2 Komşu sayısını döngü değişkeninden al.
for k in [1, 3, 5]:
m = KNeighborsClassifier(n_neighbors=____)
for k in [1, 3, 5]:
m = KNeighborsClassifier(n_neighbors=k)
Açıklama: Döngüdeki her k için ayrı bir model kurulur.
3 K değerlerini davranışla eşleştir.
| Kavram | Anlamı |
|---|---|
K = 1 |
Gürültüye aşırı duyarlı |
K çok büyük |
Sınır fazla düzleşir |
K tek sayı |
Eşit oyu önler |
Çapraz doğrulama |
K seçimi |