Estoy experimentando con la clasificación de datos en grupos. Soy bastante nuevo en este tema e intento comprender el resultado de algunos de los análisis.
Usando ejemplos de Quick-R , R
se sugieren varios paquetes. He intentado usar dos de estos paquetes ( fpc
usando la kmeans
función y mclust
). Un aspecto de este análisis que no entiendo es la comparación de los resultados.
# comparing 2 cluster solutions
library(fpc)
cluster.stats(d, fit1$cluster, fit2$cluster)
He leído las partes relevantes del fpc
manual y todavía no tengo claro a qué debo apuntar. Por ejemplo, este es el resultado de comparar dos enfoques de agrupación diferentes:
$n
[1] 521
$cluster.number
[1] 4
$cluster.size
[1] 250 119 78 74
$diameter
[1] 5.278162 9.773658 16.460074 7.328020
$average.distance
[1] 1.632656 2.106422 3.461598 2.622574
$median.distance
[1] 1.562625 1.788113 2.763217 2.463826
$separation
[1] 0.2797048 0.3754188 0.2797048 0.3557264
$average.toother
[1] 3.442575 3.929158 4.068230 4.425910
$separation.matrix
[,1] [,2] [,3] [,4]
[1,] 0.0000000 0.3754188 0.2797048 0.3557264
[2,] 0.3754188 0.0000000 0.6299734 2.9020383
[3,] 0.2797048 0.6299734 0.0000000 0.6803704
[4,] 0.3557264 2.9020383 0.6803704 0.0000000
$average.between
[1] 3.865142
$average.within
[1] 1.894740
$n.between
[1] 91610
$n.within
[1] 43850
$within.cluster.ss
[1] 1785.935
$clus.avg.silwidths
1 2 3 4
0.42072895 0.31672350 0.01810699 0.23728253
$avg.silwidth
[1] 0.3106403
$g2
NULL
$g3
NULL
$pearsongamma
[1] 0.4869491
$dunn
[1] 0.01699292
$entropy
[1] 1.251134
$wb.ratio
[1] 0.4902123
$ch
[1] 178.9074
$corrected.rand
[1] 0.2046704
$vi
[1] 1.56189
Mi pregunta principal aquí es comprender mejor cómo interpretar los resultados de esta comparación de conglomerados.
Anteriormente, había preguntado más sobre el efecto de escalar datos y calcular una matriz de distancia. Sin embargo, eso fue respondido claramente por Mariana Soffer, y solo estoy reorganizando mi pregunta para enfatizar que estoy interesado en la interpretación de mi salida, que es una comparación de dos algoritmos de agrupación diferentes.
Parte anterior de la pregunta : si estoy haciendo algún tipo de agrupación, ¿debería escalar siempre los datos? Por ejemplo, estoy usando la función dist()
en mi conjunto de datos escalado como entrada a la cluster.stats()
función, sin embargo, no entiendo completamente lo que está sucediendo. Leí acerca de dist()
aquí y dice que:
Esta función calcula y devuelve la matriz de distancia calculada utilizando la medida de distancia especificada para calcular las distancias entre las filas de una matriz de datos.