Saya menggunakan kmeans
instruksi R untuk melakukan algoritma k-means pada dataset iris Anderson. Saya punya pertanyaan tentang beberapa parameter yang saya dapatkan. Hasilnya adalah:
Cluster means:
Sepal.Length Sepal.Width Petal.Length Petal.Width
1 5.006000 3.428000 1.462000 0.246000
Dalam hal ini, apa arti "Cluster berarti"? Apakah rata-rata jarak semua objek di dalam kluster?
Juga di bagian terakhir yang saya miliki:
Within cluster sum of squares by cluster:
[1] 15.15100 39.82097 23.87947
(between_SS / total_SS = 88.4 %)
Nilai 88,4% itu, bisa apa interpretasinya?
Jawaban:
Jika Anda menghitung jumlah jarak kuadrat dari setiap titik data ke mean sampel global, Anda dapatkan
total_SS
. Jika, alih-alih menghitung rata-rata sampel global (atau 'centroid'), Anda menghitung satu per grup (di sini, ada tiga kelompok) dan kemudian menghitung jumlah jarak kuadrat dari ketiga cara ini ke rata-rata global, Anda dapatkanbetween_SS
. (Saat menghitung ini, Anda mengalikan jarak kuadrat dari setiap mean ke mean global dengan jumlah titik data yang diwakilinya.)Jika tidak ada pola pengelompokan yang dapat dilihat, tiga cara dari tiga kelompok akan mendekati rata-rata global, dan
between_SS
akan menjadi sangat keciltotal_SS
. Sebaliknya di sini, yang menunjukkan bahwa titik-titik data cluster cukup rapi dalam ruang empat dimensi menurut spesies.sumber
K-means bukan algoritma pengelompokan berbasis jarak .
K-means mencari jumlah minimum penetapan kuadrat , yaitu meminimalkan varians yang tidak dinormalisasi (=
total_SS
) dengan menetapkan poin ke pusat-pusat cluster.Agar k-means menyatu, Anda membutuhkan dua kondisi:
Karena hanya ada jumlah kombinasi terbatas, Anda tidak dapat mengurangi nilai ini secara tak terhingga dan algoritma harus konvergen di beberapa titik ke optimum lokal .
sqrt
) sama dengan penetapan jarak Euclidean minimal. Jadi intuisi menetapkan setiap titik ke mean terdekat adalah benar, tetapi tidak apa masalah optimasi.between_SS
mungkin adalah jumlah kuadrat tertimbang antara dua cara, untuk mengukur seberapa baik pusat-pusat cluster dipisahkan (catatan: pusat-pusat cluster, itu tidak membandingkan cluster yang sebenarnya - secara teknis, kluster sel Voronoi menyentuh kluster tetangga sel Voronoi).Perhatikan bahwa dengan k-berarti Anda dapat meningkatkan kualitas pengelompokan naif dengan meningkatkan k. Kualitas yang diukur di sini adalah nilai matematika, yang mungkin tidak cocok dengan persyaratan pengguna. Iris sebenarnya adalah contoh yang cukup bagus, di mana k-means sering menyatu dengan hasil yang kurang memuaskan, bahkan mengingat informasi eksternal bahwa seharusnya ada 3 cluster.
Jika Anda menginginkan variasi k-means berbasis jarak , lihat k-medoid . Di sini konvergensi dipastikan dengan mengganti mean dengan medoid:
Di setiap langkah, jumlah jarak berkurang; ada sejumlah kombinasi terbatas, oleh karena itu algoritma harus diakhiri pada beberapa minimum lokal.
sumber