Beri Nama pada Kelompok
Termasuk bagian Pembelajaran Tanpa Pengawasan dalam perjalanan Machine Learning di Coddy. Pelajaran 46 dari 51.
Cluster memiliki angka, bukan nama. Sekarang kamu dapat menggunakan label: tabel silang menghitung jumlah setiap digit yang masuk ke tiap cluster, seperti angka 1, 7, dan 9 ini dalam 3 cluster:
Beri nama setiap cluster sesuai digit yang paling sering muncul. Hasil pemindaian digit tersebut dihitung benar:
ct = pd.crosstab(km.labels_, y)
names = ct.idxmax(axis=1) # kolom dengan nilai terbesar di setiap baris
right = ct.max(axis=1).sum()
print(names.tolist(), right)Ini mencetak [9, 7, 1] 496: 496 dari 541 pemindaian berhasil diidentifikasi dengan benar, berdasarkan grup yang ditemukan tanpa satu label pun.
Tantangan
SedangBeri nama pada 10 cluster-mu. Kode awal menyediakan km, yang dilatih tanpa label; sekarang kamu boleh menggunakan angka dalam y.
- Buat tabel silang cluster dengan
y, lalu beri nama setiap cluster sesuai digit yang paling umum di dalamnya. - Urutkan berdasarkan nama, lalu cetak jumlah pemindaian di setiap cluster yang diberi nama dengan benar, ukurannya, dan persentase jumlah pemindaian yang diberi nama dengan benar, sebagai persentase bilangan bulat.
- Cetak jumlah keseluruhan pemindaian yang diberi nama dengan benar, dengan persentase hingga 1 angka desimal.
Untuk 5 cluster:
Cluster named 0: 175 of 177 scans (99%)
Cluster named 2: 160 of 367 scans (44%)
Cluster named 3: 168 of 531 scans (32%)
Cluster named 6: 179 of 359 scans (50%)
Cluster named 7: 176 of 363 scans (48%)
Named right without labels: 858 of 1797 scans (47.7%)Cluster mana yang paling lemah, dan apa yang tersembunyi di dalamnya?
Coba sendiri
import pandas as pd
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
from sklearn.cluster import KMeans
# Dari Look at the Digits: 1,797 hasil pemindaian dengan 64 piksel, nilai tinta dari 0 hingga 16
digits = load_digits()
X = digits.data
y = digits.target
# Dari Shrink with PCA: 80% varians dalam 13 angka per hasil pemindaian
pca = PCA(n_components=0.8)
X_small = pca.fit_transform(X)
# Dari Cluster the Digits: 10 klaster, ditemukan tanpa label
km = KMeans(n_clusters=10, n_init=10, random_state=0).fit(X_small)
# 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