@gung es absolutamente correcto, sugiriendo una escala multidimensional (MDS) como una herramienta preliminar para crear points X dimensions
datos fuera de la matriz de distancia. Debo agregar solo algunos trazos. La agrupación de K-medias implica distancias euclidianas . MDS le dará coordenadas de puntos en dimensiones, garantizando así distancias euclidianas. Debe usar MDS métrico y solicitar un número de dimensiones lo más grande posible, porque su objetivo es minimizar el error de retracción de los datos, no mapearlos en 2D o 3D.
¿Qué sucede si no tiene un software MDS a mano pero tiene algunas funciones de matriz como la descomposición de valores propios o la descomposición de valores singulares? Entonces usted mismo podría hacer MDS métrico simple : Torgerson MDS, también conocido como análisis de coordenadas principales (PCoA). Es un análisis un poco "retorcido" de los componentes principales. No lo describiré aquí, aunque es bastante simple. Puede leer sobre esto en muchos lugares, por ejemplo, aquí .
Finalmente, es posible programar "K-means para la entrada de matriz de distancia" directamente , sin llamar o escribir funciones haciendo PCoA u otro MDS métrico. Sabemos que (a) la suma de las desviaciones al cuadrado del centroide es igual a la suma de las distancias euclidianas al cuadrado divididas en pares divididas por el número de puntos; y (b) sepa cómo calcular las distancias entre los centroides del grupo fuera de la matriz de distancia ; (c) y además sabemos cómo las sumas de cuadrados están interrelacionadas en K-medias. Todo junto hace que la escritura del algoritmo que desea sea una tarea sencilla y no compleja. Sin embargo, uno debe recordar que K-medias es solo para distancias euclidianas / espacio euclidiano. Use K-medoides u otros métodos para distancias no euclidianas.
Una pregunta similar .