Lompat ke konten utama
←

Machine Learning Dasar dengan Python

Pelajaran 15 dari 16

Model yang andal dan data tanpa label

Clustering dengan k-means

Setelah pelajaran ini kamu bisa mengelompokkan data tanpa label dengan KMeans dan membaca labels_, cluster_centers_, dan inertia_.

±13 menitDiperiksa 27 Sep 2026

Materi

k-means adalah pembelajaran tak terawasi: tidak ada y. Algoritmanya, sesuai User Guide scikit-learn, memilih k titik pusat, memasukkan setiap sampel ke pusat terdekat, memindahkan setiap pusat ke rata-rata anggotanya, lalu mengulang sampai pusatnya tidak bergeser lagi. Yang diminimalkan adalah inertia: jumlah kuadrat jarak setiap sampel ke pusat klasternya.

KMeans(n_clusters=3, random_state=0) lalu fit(X) menghasilkan labels_ (nomor klaster tiap baris), cluster_centers_ (koordinat tiap pusat), dan inertia_. predict(X_baru) memasukkan data baru ke pusat terdekat. Karena titik pusat awal dipilih acak, random_state membuat hasilnya bisa diulang, dan n_init mengatur berapa kali algoritma diulang dari pusat awal berbeda; yang disimpan hasil dengan inertia terkecil.

from sklearn.cluster import KMeans

# nilai matematika, nilai bahasa
nilai = [[90, 40], [85, 45], [88, 42], [40, 90], [45, 85], [42, 88]]
km = KMeans(n_clusters=2, n_init=10, random_state=0).fit(nilai)
print(km.labels_)            # dua kelompok, tiga siswa per kelompok
print(km.cluster_centers_)

Banyak klaster k ditentukan manusia. Inertia selalu turun ketika k naik, sampai 0 ketika setiap sampel menjadi klasternya sendiri, jadi k tidak dipilih dari inertia terkecil. Cara yang dipakai adalah melihat di k berapa penurunannya mulai melandai.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 2 dari 3

Setelah random_state diganti, pelanggan yang dulu berada di klaster 0 sekarang berada di klaster 1, dan sebaliknya, dengan anggota yang sama persis. Apa artinya?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke