Atalet
Coddy'nin Machine Learning Journey'sinin Denetimsiz Öğrenme bölümünün bir parçası. Ders 6 / 51.
Bu bölüm k seçimiyle ilgilidir. Bölümün sonunda, bir fırının teslimatları için k değerini seçecek ve bölgeleri haritalandıracaksın:
Önce bir puan. Atalet, her noktanın kendi merkezine olan uzaklığının karesini toplar: noktalar merkezlerine yakın olduğunda değer küçüktür.
KMeans bunu inertia_ içinde tutar. 180 elma için:
for k in [1, 2, 3, 4]:
km = KMeans(n_clusters=k, n_init=10, random_state=0)
km.fit(X)
print(k, round(km.inertia_))Bu, şunu yazdırır:
1 1718
2 752
3 230
4 196Daha fazla merkez, daha kısa kollar: k arttıkça inertia her zaman azalır. Her nokta için bir merkez olduğunda 0 olur; bu nedenle en küçük değer en iyisi değildir.
Görev
KolayBir seramik atölyesi vazoları birkaç boyutta üretilen kutulara paketler. Her vazo en yakın boyuttaki kutuya yerleştirilir; atalet, ne kadar kötü eşleştiklerini ölçer. Program, seramik atölyesinin kabul ettiği en yüksek uyumsuzluk olan budget değerini okur.
- k = 1, 2, 3 ve böyle devam ederek dene:
vasesüzerinde KMeans'i uydur ve her k için ataleti yuvarlanmış olarak yazdır. - Ataleti bütçe dahilinde olan ilk k değerinde dur ve bu değeri yazdır.
Başka bir seramik atölyesi için:
k = 1, inertia 15120
k = 2, inertia 4811
k = 3, inertia 1290
Box sizes needed: 3Kendin dene
import numpy as np
from sklearn.cluster import KMeans
# Aşağıdaki satırları değiştirmeyin
rng = np.random.default_rng(8)
# Dört vazo türü: cm cinsinden tipik yükseklik ve genişlikleri ile her türden kaç tane olduğu
kinds = [(15, 8, 25), (38, 13, 25), (22, 22, 20), (58, 26, 10)]
parts = []
for h, w, n in kinds:
parts.append(np.column_stack([rng.normal(h, 2.5, n), rng.normal(w, 2, n)]))
# 80 vazo, her biri bir satırda: cm cinsinden yükseklik ve genişlik
vases = np.round(np.concatenate(parts), 1)
# Çömlek atölyesinin inertia olarak kabul ettiği en yüksek uyumsuzluk
budget = int(input())
# 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