Tujuan K-Means adalah untuk mengurangi varians dalam-cluster, dan karena menghitung centroids sebagai titik rata-rata sebuah cluster, maka diperlukan untuk menggunakan jarak Euclidean agar dapat menyatu dengan benar. Karena itu, jika Anda ingin benar-benar menggunakan K-Means, Anda perlu memastikan data Anda berfungsi dengan baik dengannya.
Perwakilan
K-Means, dan pengelompokan secara umum, mencoba untuk mempartisi data dalam kelompok-kelompok yang bermakna dengan memastikan bahwa instance dalam kelompok yang sama mirip satu sama lain. Oleh karena itu, Anda memerlukan cara yang baik untuk merepresentasikan data Anda sehingga Anda dapat dengan mudah menghitung ukuran kesamaan yang berarti.
Menggunakan pengkodean satu-panas pada variabel kategori adalah ide yang baik ketika kategori tersebut berjarak sama satu sama lain. Misalnya, jika Anda memiliki warna biru muda, biru tua, dan kuning, menggunakan enkode satu panas mungkin tidak memberi Anda hasil terbaik, karena biru tua dan biru muda cenderung "lebih dekat" satu sama lain daripada warna kuning.
Jika nilai kategorikal tidak "sama" dan dapat dipesan, Anda juga bisa memberikan kategori nilai numerik. Misalnya, anak-anak, remaja, dewasa, berpotensi direpresentasikan sebagai 0, 1, dan 2. Ini masuk akal karena seorang remaja "lebih dekat" dengan anak-anak daripada orang dewasa.
K-Medoids
Pendekatan yang lebih umum untuk K-Means adalah K-Medoids. K-Medoids bekerja dengan cara yang sama seperti K-Means, tetapi perbedaan utamanya adalah bahwa centroid untuk setiap cluster didefinisikan sebagai titik yang mengurangi jumlah jarak dalam-cluster. Menegakkan ini memungkinkan Anda untuk menggunakan ukuran jarak apa pun yang Anda inginkan, dan karena itu, Anda dapat membuat ukuran kustom Anda sendiri yang akan mempertimbangkan kategori apa yang harus ditutup atau tidak.