Estou experimentando a classificação de dados em grupos. Sou bastante novo neste tópico e estou tentando entender o resultado de algumas das análises.
Usando exemplos do Quick-R , vários R
pacotes são sugeridos. Eu tentei usar dois desses pacotes ( fpc
usando a kmeans
função e mclust
). Um aspecto desta análise que eu não entendo é a comparação dos resultados.
# comparing 2 cluster solutions
library(fpc)
cluster.stats(d, fit1$cluster, fit2$cluster)
Eu li as partes relevantes do fpc
manual e ainda não estou claro sobre o que devo procurar. Por exemplo, este é o resultado da comparação de duas abordagens diferentes de armazenamento em cluster:
$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
Minha principal pergunta aqui é entender melhor como interpretar os resultados dessa comparação de cluster.
Anteriormente, eu havia perguntado mais sobre o efeito de escalar dados e calcular uma matriz de distância. No entanto, isso foi respondido claramente por Mariana Softfer, e estou apenas reorganizando minha pergunta para enfatizar que estou interessado na interpretação da minha saída, que é uma comparação de dois algoritmos de clustering diferentes.
Parte anterior da pergunta : Se estou fazendo algum tipo de cluster, devo sempre dimensionar os dados? Por exemplo, estou usando a função dist()
no meu conjunto de dados dimensionado como entrada para a cluster.stats()
função, mas não entendo completamente o que está acontecendo. Eu li sobre dist()
aqui e afirma que:
essa função calcula e retorna a matriz de distância calculada usando a medida de distância especificada para calcular as distâncias entre as linhas de uma matriz de dados.