Dirsek Yöntemi
Coddy'nin Machine Learning Journey'sinin Denetimsiz Öğrenme bölümünün bir parçası. Ders 7 / 51.
k'ya karşı inertia'yı çiz. Her yeni merkez gerçek bir grubu bölerken inertia hızla düşer; sonra yataylaşır. Dirsek, elbow, iyi bir k değeridir:
Pratik bir kural: Bir merkez daha eklemek ataleti dörtte birden daha az azaltıyorsa dur. Elmaların azalması: önce %56, sonra %69, ardından yalnızca %15. Yani k = 3:
ax.plot(ks, inertias, marker="o")
ax.axvline(3, linestyle="--")Bükülmesi olmayan yumuşak bir eğri, belirgin gruplar olmadığı anlamına gelir. Bir sonraki derste ikinci bir yargıç gelecek.
Görev
KolayBir bitki uygulaması, ev bitkilerini ışık ve su gereksinimlerine göre bakım planlarına ayırır. Başlangıç kodunda k from 1 to 8 için inertia değerleri, bir grafik ve cutoff bulunur.
- k = 1'den başlayarak yukarı doğru ilerle; sonraki k değerinin inertia'yı
cutoffdeğerinden daha az azalttığı yerde dur. Bu k değerini yazdır. - Inertia'yı k değerine göre noktalarla çiz, seçtiğin k değerinde kesikli bir dikey çizgi ekle ve grafiği göster.
Başka bir uygulama için cutoff 0.25:
Care plans: 3Ardından 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(17)
# Dört bitki türü: tipik ışık ve su ihtiyaçları ile her türden kaç tane olduğu
kinds = [(8.5, 2, 35), (2.5, 7.5, 30), (5, 5, 30), (8, 8, 25)]
parts = []
for l, w, n in kinds:
parts.append(np.column_stack([rng.normal(l, 0.8, n), rng.normal(w, 0.8, n)]))
# 120 ev bitkisi, her biri bir satırda: ışık ve su ihtiyaçları, 1 ile 10 arasında puanlanmış
plants = np.clip(np.round(np.concatenate(parts), 1), 1, 10)
# Inertia'dan alınan, k = 1 ile 8 arasındaki atalet değerleri
ks = list(range(1, 9))
inertias = []
for k in ks:
km = KMeans(n_clusters=k, n_init=10, random_state=0)
km.fit(plants)
inertias.append(km.inertia_)
cutoff = float(input())
fig, ax = plt.subplots()
ax.set_title("Elbow: Care Plans")
ax.set_xlabel("k")
ax.set_ylabel("Inertia")
# 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