Centroid
- Makine Öğrenmesi kursu
- Orta seviye
- Ders 49/112
- 5 dk
Centroid, bir kümenin merkez noktasıdır.
Merkez (centroid)
Merkez, kümenin "tipik örneğidir": kümedeki örneklerin özellik ortalaması. Segmentasyonda merkezler yorumlanarak kümelere ad verilir: "yüksek gelirli, az alışveriş yapan" gibi.
for k, m in enumerate(km.cluster_centers_):
print(k, m.round(2))
# ölçekli veride merkezi okumak için:
print(sc.inverse_transform(km.cluster_centers_).round(0))Ölçekli veride kümelenmişse merkezleri inverse_transform ile özgün birime çevirmek yorumu kolaylaştırır.
Merkezlere uzaklık
transform, her örneğin tüm merkezlere uzaklığını verir. En küçük uzaklık atanan kümeyi, büyük uzaklık ise kümesine bile uzak olan örnekleri (olası anomalileri) gösterir:
D = km.transform(X) # (örnek, küme) uzaklık matrisi
en_yakin = D.min(axis=1)
print(np.argsort(en_yakin)[-3:]) # merkezine en uzak 3 örnekUzaklık matrisi ayrıca yeni bir özellik kümesi olarak başka bir modele de verilebilir.
Uygulama Merkez = ortalama
Eğitilmiş km için 0 numaralı kümenin örneklerinin ortalamasını X[km.labels_ == 0].mean(axis=0) ile hesapla ve cluster_centers_[0] ile aynı olduğunu np.allclose ile yazdır. Ardından merkezine en uzak örneğin indeksini km.transform(X).min(axis=1).argmax() ile yazdır.
Başlangıç kodu
import numpy as np
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)
km = KMeans(n_clusters=4, n_init=10, random_state=0).fit(X)
# buraya yazÖrnek çözüm
import numpy as np
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)
km = KMeans(n_clusters=4, n_init=10, random_state=0).fit(X)
ort = X[km.labels_ == 0].mean(axis=0)
print(np.allclose(ort, km.cluster_centers_[0]))
print(km.transform(X).min(axis=1).argmax())Beklenen çıktı
True 205
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 KMeans eğitimi bittikten sonra bir merkez neye eşittir?
- Kümedeki ilk örneğe
- Medyana
- Rastgele bir noktaya
- Kümesindeki örneklerin ortalamasına Doğru cevap
Açıklama: Yakınsamada güncelleme adımı merkezi değiştirmez; merkez kümenin ortalamasıdır.
2 Her örneğin tüm merkezlere uzaklığını al.
D = km.____(X)
D = km.transform(X)
Açıklama: KMeans.transform uzaklık matrisini döndürür.
3 İfadeleri eşleştir.
| Kavram | Anlamı |
|---|---|
cluster_centers_ |
Merkez koordinatları |
km.transform(X) |
Uzaklık matrisi |
D.min(axis=1) |
Kendi merkezine uzaklık |
inverse_transform |
Özgün birimde merkez |