Inersia
Termasuk bagian Pembelajaran Tanpa Pengawasan dalam perjalanan Machine Learning di Coddy. Pelajaran 6 dari 51.
Bab ini membahas cara memilih k. Di akhir bab ini, kamu akan memilihnya untuk pengiriman toko roti dan memetakan zonanya:
Pertama, skor. Inertia menjumlahkan kuadrat jarak setiap titik ke pusat kelompoknya: nilainya kecil saat titik-titik berkumpul dekat dengan pusatnya.
KMeans menyimpannya di inertia_. Untuk 180 apel:
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_))Ini mencetak:
1 1718
2 752
3 230
4 196Semakin banyak pusat, semakin pendek jari-jarinya: inertia selalu mengecil saat k bertambah. Dengan satu pusat untuk setiap titik, nilainya 0, jadi nilai terkecil bukan yang terbaik.
Tantangan
MudahSebuah usaha tembikar mengemas vas ke dalam kotak dengan beberapa ukuran. Setiap vas dimasukkan ke ukuran terdekat; inertia mengukur seberapa tidak pas ukurannya. Program membaca budget, yaitu batas ketidakcocokan yang diterima usaha tembikar.
- Coba k = 1, 2, 3, dan seterusnya: sesuaikan KMeans pada
vasesdan cetak inertia setiap k, setelah dibulatkan. - Berhenti pada k pertama yang inertia-nya tidak melebihi budget, lalu cetak nilainya.
Untuk usaha tembikar lain:
k = 1, inertia 15120
k = 2, inertia 4811
k = 3, inertia 1290
Box sizes needed: 3Coba sendiri
import numpy as np
from sklearn.cluster import KMeans
# Jangan ubah baris-baris di bawah ini
rng = np.random.default_rng(8)
# Empat jenis vas: tinggi dan lebar khas dalam cm, serta jumlah masing-masing
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 vas, masing-masing satu baris: tinggi dan lebar dalam cm
vases = np.round(np.concatenate(parts), 1)
# Batas ketidakcocokan, diukur sebagai inertia, yang diterima oleh tempat pembuatan tembikar
budget = int(input())
# Tulis kodemu di bawah ini
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pembelajaran Tanpa Pengawasan
1Menemukan Kelompok
Belajar Tanpa LabelMengukur KemiripanK-Means secara ManualK-Means dengan scikit-learnRangkuman: Anggota Gym4Pengelompokan Hierarkis
Penggabungan Langkah demi LangkahModel AglomeratifDendrogramRingkasan: Ras Anjing7PCA dalam Praktik
Melihat 64 DimensiKomponen sebagai PolaKompres dan RekonstruksiPCA Sebelum ModelRangkuman: Pemindai Wajah10Proyek: Penjelajah Digit
Amati DigitnyaPerkecil dengan PCAKelompokkan DigitBeri Nama pada KelompokTemukan yang Tidak BiasaLatihan sendiri: Compiler Python online