2017-11-04 8 views
-1

Ich bin ein Neuling mit R, und ich versuche, Clustering auf einige Datenproben. Ich habe ein PCA versucht,R - DBSCAN fviz_cluster - Hol dir die Koordinaten von elments mit dim1 und dim2

res.pca <- PCA(df, 
       ncp = 5, # nb composantes principales. 
       graph = TRUE, 
       ) 

und ich kann die vollen Elemente Liste mit neuen Koordinaten erhalten mit

res.pca$ind 

Das ist großartig. und funktioniert perfekt für Informationen mit der 2 ersten Achse mit dem PCA, ich habe 80% Variabilität auf einer Achse und etwas mehr als 10% auf der zweiten Achse. Ich war ziemlich stolz auf das Ergebnis, wenn man bedenkt, dass ich 30 Variablen habe ... und am Ende sagt die PCA implizit, dass 2 Dimension genug sein wird.

Arbeitet noch an diesen Daten Ich versuchte die DBSCAN-Clustering-Methode. fpc :: DBSCAN Bibliothek (factoextra)

db <- fpc::dbscan(df, eps = 22, MinPts = 3) 

und nach dem DBSCAN tun und die grafische Darstellung der Cluster fviz_cluster verwenden, die zwei Dimensionen Anzeige sagt: 92,8% auf Achse 1 und 6,7% auf Achse 2 !!!! (mehr als 99% der Gesamtvarianz erklärt mit 2 Achsen!

Kurz gesagt, der DBSCAN hat meine 30variablen Daten auf eine Weise transformiert, die besser aussieht als die PCA. Das gesamte Clustering von DBSCAN ist ein Ärgernis für meine Daten , aber die Umwandlung, die verwendet worden ist, ist absolut ausgezeichnet.

Mein Problem ist, dass ich Zugang zu diesen neuen Koordinaten bekommen möchte ... aber keine Weise zu dieser Zeit ... die einzigen zugänglichen Variablen, die ich sehen kann sind: db $ Cluster, db $ eps, db $ MinPts, db $ isseed

aber ich vermute, dass einige Daten Otherwize wie fviz_cluster zugänglich sind, die Daten darstellen könnte. .

Irgendeine Idee?

Antwort

1

Die Projektion wird nicht von dbscan durchgeführt. fviz_cluster verwendet die ersten beiden Komponenten, die über stats::prcomp über die Daten erhalten werden.

+0

Danke. Ich werde das überprüfen. –

Verwandte Themen