Ich experimentiere mit der Klassifizierung von Daten in Gruppen. Ich bin ziemlich neu in diesem Thema und versuche, die Ergebnisse einiger Analysen zu verstehen.
Anhand von Beispielen aus Quick-R werden mehrere R
Pakete vorgeschlagen. Ich habe versucht, zwei dieser Pakete zu verwenden ( fpc
mit der kmeans
Funktion und mclust
). Ein Aspekt dieser Analyse, den ich nicht verstehe, ist der Vergleich der Ergebnisse.
# comparing 2 cluster solutions
library(fpc)
cluster.stats(d, fit1$cluster, fit2$cluster)
Ich habe die relevanten Teile des fpc
Handbuchs durchgelesen und weiß immer noch nicht, worauf ich abzielen soll. Dies ist beispielsweise die Ausgabe des Vergleichs zweier verschiedener Clustering-Ansätze:
$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
Meine Hauptfrage hier ist, besser zu verstehen, wie die Ergebnisse dieses Clustervergleichs zu interpretieren sind.
Zuvor hatte ich mehr über den Effekt der Skalierung von Daten und die Berechnung einer Distanzmatrix gefragt. Dies wurde jedoch von mariana soffer klar beantwortet, und ich reorganisiere nur meine Frage, um zu betonen, dass ich an der Interpretation meiner Ausgabe interessiert bin, die ein Vergleich zweier verschiedener Clustering-Algorithmen ist.
Vorheriger Teil der Frage : Soll ich Daten immer skalieren, wenn ich eine Art Clustering durchführe? Beispielsweise verwende ich die Funktion dist()
in meinem skalierten Dataset als Eingabe für die cluster.stats()
Funktion, verstehe jedoch nicht vollständig, was vor sich geht. Ich habe dist()
hier gelesen und es heißt:
Diese Funktion berechnet und gibt die Distanzmatrix zurück, die mit dem angegebenen Distanzmaß berechnet wurde, um die Abstände zwischen den Zeilen einer Datenmatrix zu berechnen.