PCA de la projection et de la reconstruction en scikit-learn

Je peux effectuer l'ACP, scikit par le code ci-dessous:
X_train a 279180 lignes et 104 colonnes.

from sklearn.decomposition import PCA
pca = PCA(n_components=30)
X_train_pca = pca.fit_transform(X_train)

Maintenant, quand je veux projeter les vecteurs propres sur la fonctionnalité de l'espace, je doit effectuer les opérations suivantes:

""" Projection """
comp = pca.components_ #30x104
com_tr = np.transpose(pca.components_) #104x30
proj = np.dot(X_train,com_tr) #279180x104 * 104x30 = 297180x30

Mais je suis hésitant à cette étape, parce que Scikit la documentation dit:

components_: array [n_components, n_features]

Axes principaux dans l'espace de la fonctionnalité, représentant les directions du maximum de la variance dans les données.

Il me semble que c'est déjà prévu, mais quand j'ai regardé le code source, il ne retourne que les vecteurs propres.

Quelle est la bonne façon de comment la projeter?

En fin de compte, je suis visant à calculer le MSE de la reconstruction.

""" Reconstruct """
recon = np.dot(proj,comp) #297180x30 * 30x104 = 279180x104

"""  MSE Error """
print "MSE = %.6G" %(np.mean((X_train - recon)**2))
InformationsquelleAutor HonzaB | 2016-04-12