Gagasan yang mendasari algoritma k-means adalah untuk mencoba menemukan cluster yang meminimalkan varians dalam-cluster (atau hingga jumlah kuadrat atau SS) yang sesuai, yang berjumlah untuk memaksimalkan antara-klaster SS karena total varians adalah tetap. Seperti yang disebutkan di wiki, Anda dapat langsung menggunakan SS dalam dan melihat variasinya ketika meningkatkan jumlah cluster (seperti yang akan kita lakukan dalam Analisis Faktor dengan screeplot): perubahan tiba-tiba dalam bagaimana SS berevolusi menunjukkan solusi optimal. , meskipun ini hanya berdiri dari apresiasi visual. Karena total varians tetap, itu sama dengan mempelajari bagaimana rasio antara dan total SS, juga disebut persentase varians yang dijelaskan, berevolusi, karena dalam kasus ini akan menghadirkan celah besar dari satu k ke yang berikutnya +1.
Singkatnya, Anda hanya perlu menghitung jarak kuadrat antara setiap titik data dan pusatnya masing-masing (atau centroid), untuk setiap kluster - ini memberi Anda dalam SS, dan total dalam SS hanyalah jumlah dari kluster-spesifik WSS (mengubah mereka menjadi varians hanya masalah membagi dengan derajat kebebasan yang sesuai); antara SS diperoleh dengan mengurangi total WSS dari total SS, yang terakhir diperoleh dengan mempertimbangkan k = 1 misalnya.
Omong-omong, dengan k = 1, WSS = TSS dan BSS = 0.
Jika Anda setelah menentukan jumlah cluster atau di mana harus berhenti dengan k-means, Anda dapat mempertimbangkan statistik Gap sebagai alternatif kriteria siku:
Tibshirani, R., Walther, G., dan Hastie, T. (2001). Memperkirakan jumlah cluster dalam satu set data melalui statistik gap . Statistik JR. Soc. B , 63 (2): 411-423.