L'obiettivo di K-Means è quello di ridurre la varianza all'interno del cluster e poiché calcola i centroidi come il punto medio di un cluster, è necessario utilizzare la distanza euclidea per convergere correttamente. Pertanto, se si desidera utilizzare assolutamente K-Means, è necessario assicurarsi che i dati funzionino bene con esso.
Rappresentazione
K-Means, e il clustering in generale, tenta di partizionare i dati in gruppi significativi assicurandosi che le istanze negli stessi cluster siano simili tra loro. Pertanto, è necessario un buon modo per rappresentare i dati in modo da poter calcolare facilmente una misura di somiglianza significativa.
L'uso della codifica one-hot su variabili categoriali è una buona idea quando le categorie sono equidistanti l'una dall'altra. Ad esempio, se hai il colore blu chiaro, blu scuro e giallo, l'uso della codifica a caldo potrebbe non darti i migliori risultati, dal momento che il blu scuro e il blu chiaro sono probabilmente "più vicini" di quanto non siano al giallo.
Nel caso in cui il valore categoriale non sia "equidistante" e possa essere ordinato, è possibile assegnare un valore numerico alle categorie. Ad esempio, un bambino, un adolescente o un adulto potrebbero potenzialmente essere rappresentati come 0, 1 e 2. Ciò avrebbe senso perché un adolescente è "più vicino" all'essere un bambino di quanto non lo sia un adulto.
K-medoids
Un approccio più generico a K-Means è K-Medoids. K-Medoids funziona in modo simile a K-Means, ma la differenza principale è che il centroide per ciascun cluster è definito come il punto che riduce la somma delle distanze all'interno del cluster. Applicare ciò consente di utilizzare qualsiasi misura di distanza desiderata e, pertanto, è possibile creare la propria misura personalizzata che terrà conto delle categorie da chiudere o meno.