scikit-learn ile K-Means
Coddy'nin Machine Learning Journey'sinin Denetimsiz Öğrenme bölümünün bir parçası. Ders 4 / 51.
scikit-learn, 180 elmayı tatlılık ve kıtırlık puanlarına göre burada olduğu gibi tüm k-means döngüsünü sizin için çalıştırır:
Y olmadan yalnızca X ile eğitin:
from sklearn.cluster import KMeans
km = KMeans(n_clusters=3, n_init=10, random_state=0)
km.fit(X)
print(km.labels_[:8])
print(km.cluster_centers_.round(1))Bu, 8 satırın küme numaralarını ve ardından her merkez için bir satır yazdırır:
[2 0 0 1 2 0 1 1]
[[7. 7.5]
[6. 3. ]
[2.9 8.1]]n_init=10 10 başlangıç dener ve en kompakt sonucu seçer. km.predict([[8.6, 9.2]]) yeni elmanın en yakın merkezini verir: [0].
labels = km.fit_predict(X) ikisini de aynı anda yapar: modeli uyarlar, ardından labels_ değerini döndürür.
Sayılar yalnızca addır: başka verilerde 0. küme herhangi bir grup olabilir.
Görev
KolayBir biyolog, bir kambur balinanın 150 dalışını kaydetti: dalış süresini ve ardından yüzeyde dinlenme süresini. Dalış türleri var mı? Başlangıç kodu grafiği hazırlar.
Xüzerinde KMeans modelini eğit: 3 küme,n_init=10,random_state=0.- Her kümeyi kendi grubu olarak dağılım grafiğinde göster ve
cluster 0ilecluster 2arasında etiketle. - Merkezleri siyah yıldızlarla işaretle ve
centersolarak etiketle. Bir açıklama kutusu ekle ve grafiği göster.
Başka bir balinadan alınan verilerle şöyle:
Coddy grafiğini açıklar.
Kendin dene
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
# Aşağıdaki satırları değiştirmeyin
rng = np.random.default_rng(14)
dive = np.concatenate([rng.normal(4, 1.0, 60), rng.normal(12, 2.0, 50), rng.normal(2.5, 0.7, 40)])
rest = np.concatenate([rng.normal(1.5, 0.5, 60), rng.normal(4, 1.0, 50), rng.normal(8, 1.5, 40)])
# Bir kambur balinanın 150 dalışı: dakika cinsinden dalış süresi ve ardından su yüzeyinde dinlenme süresi
X = np.round(np.clip(np.column_stack([dive, rest]), 0.5, None), 1)
fig, ax = plt.subplots()
ax.set_title("Whale Dives")
ax.set_xlabel("Dive (min)")
ax.set_ylabel("Surface rest (min)")
# Kodunuzu aşağıya yazın
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Denetimsiz Öğrenme bölümündeki tüm dersler
1Grupları Bulma
Etiketler Olmadan ÖğrenmeBenzerliği ÖlçmeK-Means'i Elle Uygulamascikit-learn ile K-MeansÖzet: Spor Salonu Üyeleri7Uygulamada PCA
64 Boyutu GörmekBileşenleri Örüntü Olarak GörmekSıkıştır ve Yeniden OluşturModelden Önce PCATekrar: Yüz Tarayıcı10Proje: Rakam Kaşifi
Rakamları İncelePCA ile KüçültRakamları KümeleKümelere Ad VerAykırı Olanları Bul2k Sayısını Seçme
AtaletDirsek YöntemiSilüet PuanlarıKümeleme Öncesi ÖlçeklemeÖzet: Teslimat BölgeleriKendi başına pratik yap: Online Python derleyicisi