K-means dengan bahasa sederhana: tebak, geser, ulangi
K-means mengelompokkan titik tanpa label, yaitu data tanpa jawaban terlampir, menjadi k kelompok yang disebut cluster, dengan k berupa angka yang dipilih di awal. Ia mulai dari tebakan dan mengulang dua gerakan sederhana sampai tidak ada yang berubah.
- Klip menunjukkan 60 titik dalam tiga kelompok longgar, dengan k = 3. Setiap tanda silang berlingkar adalah centroid, tebakan saat ini untuk pusat sebuah cluster. Pada iterasi 0, ketiga centroid mulai dari tempat acak, semuanya di dekat kelompok bawah. Setiap titik mengambil warna centroid terdekatnya, jadi warnanya memotong kelompok yang sebenarnya. Inertia, jumlah kuadrat jarak tiap titik ke centroid-nya, menunjukkan 929,0.
- Setiap iterasi membuat dua gerakan. Pertama, tiap centroid pindah ke rata-rata titik-titiknya, yaitu rata-rata posisinya, dan panah putus-putus menggambarkan perpindahan itu. Lalu tiap titik memilih lagi centroid terdekatnya, yang bisa mengubah warnanya. Pada iterasi 1, perpindahan terjauh, yang ditampilkan sebagai Max disp, adalah 3,11 satuan, dan inertia turun ke 287,7. Pada iterasi 2, centroid berpindah paling jauh 2,15 satuan lagi, masing-masing mendarat di dalam kelompoknya, dan inertia turun ke 85,7.
- Pada iterasi 3, tidak ada titik yang berganti warna, dan centroid bergeser paling jauh 0,19 untuk memasukkan satu titik yang berpindah pada iterasi 2. Pada iterasi 4, tidak ada yang bergerak: Max disp menunjukkan 0,00 dan inertia tetap 84,8. Itulah konvergensi. Kedua gerakan tidak bisa menaikkan inertia, dan cara membagi 60 titik ke dalam 3 cluster jumlahnya terbatas, jadi k-means selalu berhenti. Tempat berhentinya bergantung pada tebakan awal, dan awal yang buruk bisa berakhir pada pembagian yang lebih buruk, yang disebut local optimum.
Intinya
K-means cepat dan sederhana, tetapi k adalah pilihan, dan hasilnya bergantung pada posisi awal centroid. Solusi yang umum adalah menjalankannya dari beberapa posisi awal dan menyimpan pembagian dengan inertia terendah. n_init di scikit-learn mengatur jumlahnya, dan cara pemilihan awal bawaannya, k-means++, memencarkan centroid awal. Skalakan feature lebih dulu, karena jarak memakai satuan mentah dan feature berskala besar akan mendominasi.
K-Means Clustering
Di langkah pembaruan, geser iterasi dan ikuti panah putus-putus saat tiap centroid pindah ke tengah titik-titiknya.
Buka penjelasan interaktif