2016-04-03 5 views
4

Sklearn PCA ist pca.components_ die Belastungen? Ich bin mir ziemlich sicher, dass es so ist, aber ich versuche, eine Forschungsarbeit zu verfolgen, und ich bekomme unterschiedliche Ergebnisse von ihren Belastungen. Ich kann es in der sklearn-Dokumentation nicht finden.Sklearn PCA ist pca.components_ die Belastungen?

Antwort

6

pca.components_ ist die orthogonale Basis des Raums, in den Sie die Daten projizieren. Es hat Form (n_components, n_features). Wenn Sie nur die ersten drei Komponenten (z. B. ein 3D-Streudiagramm) von Datensätzen mit 100 Proben und 50 Dimensionen (auch benannte Merkmale) beibehalten möchten, wird pca.components_ die Form (3, 50) haben.

Ich denke, was Sie die "Ladungen" nennen, ist das Ergebnis der Projektion für jede Probe in den Vektorraum, der von den Komponenten überspannt wird. Diese können erhalten werden, indem pca.transform(X_train) nach dem Anruf pca.fit(X_train) aufgerufen wird. Das Ergebnis wird die Form (n_samples, n_components) haben, das ist (100, 3) für unser vorheriges Beispiel.

+0

Umwandlung wendet Dimensionalitätsreduktion entsprechend der Dokumentation an, also hat mein Vektor eine andere Form als die Komponenten. Ich versuche gerade, ein Papier zu replizieren und sein dieses spezifisch http://ftp.utdallas.edu/~herve/Abdi- rotations-pretty.pdf Ich brauche die Lasten, um eine Varimax-Rotation durchzuführen, damit ich eine Tabelle aufbauen kann, die zu jeder Komponente entsprechende Variablen enthält. –

+0

Wenn Sie die Dimensionalität nicht reduzieren möchten, können Sie 'n_components = n_features' einfach an den PCA-Konstruktor übergeben (das ist der Standard, den ich denke), und die Ergebnisse des Aufrufs zur Transformation haben die Form' (n_samples, n_features) ' (unter der Annahme 'n_samples> n_features)'. Sie können auch angeben, whiten = True oder whiten = False (an den PCA-Konstruktor), um zu entscheiden, ob Sie die Ladevorgänge so skalieren möchten, dass sie die Einheitsvarianz haben oder nicht. – ogrisel

+0

Bitte lesen Sie den Quellcode der Klasse, wenn Sie weitere Informationen darüber benötigen, wie die Transformation funktioniert, ist es nicht sehr kompliziert: https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/ pca.py – ogrisel

Verwandte Themen