2017-05-02 3 views
0

Ich bin sehr neu in PCA. Ich habe 11 X Variablen für mein Modell. Dies sind die X VariablenbeschriftungenPCA Explained Varianzanalyse

Dies ist der Graph, den ich aus der erklärten Varianz erstellt habe. Die x-Achse ist die Hauptkomponente. enter image description here

[ 3.47567089e-01 1.72406623e-01 1.68663799e-01 8.86739892e-02 
    4.06427375e-02 2.75054035e-02 2.26578769e-02 5.72892368e-03 
    2.49272688e-03 6.37160140e-05] 

Ich muss wissen, ob ich eine gute Auswahl an Funktionen. Und woher weiß ich, welches Feature am meisten beiträgt?

from sklearn import decomposition 
pca = decomposition.PCA() 
pca.fit(X_norm) 
scores = pca.explained_variance_ 
+0

Der Punkt von PCA ist, dass Sie neue Funktionen entwickeln, um die Varianz in den Daten zu erklären. Wenn Sie neugierig sind, welche Ihrer Funktionen zu den neu abgeleiteten Komponenten beitragen, können Sie die Korrelation zwischen ihnen berechnen. Wenn ich Ihr Diagramm betrachte, würde ich die Hauptkomponenten 8-10 fallen lassen, weil sie sehr wenig Varianz in den Daten erklären. – flyingmeatball

+0

Ich bin mir nicht sicher, welche PC 8-10 fallen lassen? –

+0

Die letzten drei Werte auf der x-Achse. Sie haben sehr niedrige Werte der erklärten Varianz und können weggelassen werden. –

Antwort

0

Obwohl ich den Datensatz weiß es nicht, ich empfehlen, dass Sie Ihre Funktionen skalieren, bevor PCA (Varianz wird entlang der Achsen maximiert werden). Ich denke X_norm bezieht sich auf das in Ihrem Code.

Mithilfe von PCA möchten wir die Dimensionalität reduzieren. Um dies zu tun, beginnen wir mit einem Merkmalsraum, der in Ihrem Fall alle X-Variablen enthält, und enden mit einer Projektion dieses Raums, der normalerweise ein anderer (Unter-) Teilraum ist.

In der Praxis kann PCA bei Korrelationen zwischen Features dazu beitragen, diese Korrelation auf kleinere Dimensionen zu projizieren.

Denken Sie darüber nach, wenn ich ein Papier mit voller Punkte auf meinem Schreibtisch halte, brauche ich die 3. Dimension, um diesen Datensatz darzustellen? Wahrscheinlich nicht, da alle Punkte auf Papier sind und im 2D-Raum dargestellt werden könnten.

Wenn Sie versuchen zu entscheiden, wie viele Hauptkomponenten Sie aus Ihrem neuen Featurebereich verwenden werden, können Sie die erklärte Varianz anzeigen und erfahren, wie viele Informationen für jede Hauptkomponente vorhanden sind.

Wenn ich die Hauptkomponenten in Ihren Daten betrachte, sehe ich, dass ~ 85% der Varianz den ersten 6 Hauptkomponenten zugeordnet werden können.

Sie können auch n_components festlegen. Wenn Sie beispielsweise n_components = 2 verwenden, verfügt Ihr transformiertes Dataset über zwei Features.