Ich muss Pca verwenden, um die Dimensionen mit der höchsten Varianz eines bestimmten Datensatzes zu identifizieren. Ich benutze sckit-learn's pca, um es zu tun, aber ich kann nicht aus der Ausgabe der pca-Methode identifizieren, was die Komponenten meiner Daten mit der höchsten Varianz sind. Bedenken Sie, dass ich diese Dimensionen nicht eliminieren, sondern nur identifizieren möchte.Ermitteln der Dimension mit der höchsten Varianz mit scikit-learn PCA
Meine Daten sind als Matrix mit 150 Datenzeilen organisiert, jede mit 4 Dimensionen. Ich bin wie folgt vorgehen:
pca = sklearn.decomposition.PCA()
pca.fit(data_matrix)
Wenn ich drucken pca.explained_variance_ratio_, es gibt eine Reihe von Abweichungsverhältnisse vom höchsten zum niedrigsten geordnet, aber es hat mir nicht gesagt, welche Dimension der Daten, die sie entsprechen (Ich habe versucht, die Reihenfolge der Spalten in meiner Matrix zu ändern, und das resultierende Varianzverhältnis-Array war dasselbe).
Drucke pca.components_ gibt mir eine 4x4-Matrix (I die ursprüngliche Anzahl von Komponenten als Argument pca links) mit einigen Werten kann ich nicht die Bedeutung verstehen ... nach scikit der Dokumentation, sollten sie sein die Komponenten mit der maximalen Varianz (die Eigenvektoren vielleicht?), aber kein Hinweis darauf, auf welche Dimension sich diese Werte beziehen.
Das Umwandeln der Daten hilft auch nicht, weil die Dimensionen in einer Weise geändert werden, ich kann nicht wirklich wissen, welche sie ursprünglich waren.
Gibt es eine Möglichkeit, wie ich diese Informationen mit scikit's pca bekommen kann? Danke
Die erste Reihe der '' components_'' die Richtung der maximalen Varianz ist, wie die Dokumentation Staaten. Ich bin mir nicht ganz sicher, was daran unklar ist. Die Einträge in '' explained_variance_ratio_'' entsprechen den Zeilen von '' components_''. Wie meinst du "kein Hinweis darauf, auf welche Dimension sich diese Werte beziehen?" –
Nun, mein Problem ist, wenn ich 4 Dimensionen in meinen Daten habe und ich nur die Dimension mit den 2 Dimensionen mit der größten Varianz behalten möchte, woher weiß ich, welche Dimensionen meiner Daten beibehalten worden wären, wenn ich PCA mit verwende n_components = 2. Nehmen wir zum Beispiel an, dass die zweite Dimension und die vierte Dimension meiner Daten die höchste Varianz haben, aber das weiß ich nicht. Ich möchte PCA anwenden und eine Möglichkeit haben, diese Informationen aus den Ergebnissen zu erhalten. Auch hier muss ich die Daten nicht umwandeln! –