Etiketler
- Makine Öğrenmesi kursu
- Orta seviye
- Ders 51/112
- 5 dk
KMeans, her örneğe küme etiketi atar ve labels_ özelliğinde saklar.
Etiketleri yorumlamak
Küme etiketleri ad değil numaradır; aynı veride yeniden çalıştırınca 0 ile 2 yer değiştirebilir. Bu yüzden kümeler, numaralarıyla değil içerikleriyle (merkez, boyut, örnek özellikleri) tanımlanır.
for k in range(km.n_clusters):
uyeler = X[km.labels_ == k]
print(k, len(uyeler), uyeler.mean(axis=0).round(1))Gerçek etiketler biliniyorsa (deneme amaçlı) karşılaştırma numaralardan bağımsız bir ölçütle yapılmalıdır.
Ayarlanmış Rand indeksi
adjusted_rand_score iki etiketlemenin ne kadar uyumlu olduğunu numaralardan bağımsız ölçer: 1 tam uyum, 0 rastgele düzey. Kümeleme yöntemlerini bilinen yapılı yapay veride karşılaştırmak için kullanılır:
from sklearn.metrics import adjusted_rand_score
print(adjusted_rand_score([0, 0, 1, 1], [1, 1, 0, 0])) # 1.0
print(adjusted_rand_score(y_gercek, km.labels_))Gerçek projelerde etiket yoktur; o zaman siluet gibi iç ölçütler ve alan bilgisi kullanılır.
Uygulama Kümeyi doğrula
Yapay veride KMeans(n_clusters=4, n_init=10, random_state=0) eğit. Gerçek etiketlerle ARI'yi round(..., 3) ile yazdır. Ardından düz accuracy_score(y_gercek, km.labels_) değerini round(..., 3) ile yazdır ve ikisinin neden farklı olduğunu gör.
Başlangıç kodu
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
X, y_gercek = make_blobs(n_samples=300, centers=4, cluster_std=0.8, random_state=0)
from sklearn.metrics import adjusted_rand_score, accuracy_score
# buraya yazÖrnek çözüm
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
X, y_gercek = make_blobs(n_samples=300, centers=4, cluster_std=0.8, random_state=0)
from sklearn.metrics import adjusted_rand_score, accuracy_score
km = KMeans(n_clusters=4, n_init=10, random_state=0).fit(X)
print(round(adjusted_rand_score(y_gercek, km.labels_), 3))
print(round(accuracy_score(y_gercek, km.labels_), 3))Beklenen çıktı
0.946 0.497
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Gerçek etiketler [0, 0, 1, 1], küme etiketleri [1, 1, 0, 0] ise kümeleme ne kadar başarılıdır?
- Değerlendirilemez
- Kusursuz; yalnızca numaralar yer değiştirmiş Doğru cevap
- Tamamen yanlış
- Yarı yarıya
Açıklama: Gruplar aynı, adları farklı; ARI = 1 olur.
2 İki etiketlemenin uyumunu ölç.
ari = ____(y_gercek, km.labels_)
ari = adjusted_rand_score(y_gercek, km.labels_)
Açıklama: ARI numaraların yer değiştirmesinden etkilenmez.
3 Ölçütleri eşleştir.
| Kavram | Anlamı |
|---|---|
ARI = 1 |
Tam uyum |
ARI ≈ 0 |
Rastgele düzey |
accuracy_score |
Kümelemede yanıltıcı |
siluet |
Etiketsiz iç ölçüt |