2015-03-03 12 views
14

genere ho ottenere PCA carichi come questo:Ottenere modello di attributi da scikit-learn gasdotto

pca = PCA(n_components=2) 
X_t = pca.fit(X).transform(X) 
loadings = pca.components_ 

Se corro PCA utilizzando un pipline scikit-learn ...

from sklearn.pipeline import Pipeline 
pipeline = Pipeline(steps=[  
('scaling',StandardScaler()), 
('pca',PCA(n_components=2)) 
]) 
X_t=pipeline.fit_transform(X) 

... è possibile ottenere i carichi?

Semplicemente cercando loadings = pipeline.components_ fallisce:

AttributeError: 'Pipeline' object has no attribute 'components_' 

Grazie!

(. Interessati anche a estrarre gli attributi come coef_ da tubazioni di apprendimento)

risposta

26

Forse si guarda la documentazione: http://scikit-learn.org/dev/modules/pipeline.html mi sembra abbastanza chiaro.

Ci sono due modi per raggiungere le fasi di un oleodotto, sia utilizzando gli indici o utilizzando i nomi di stringa hai dato:

pipeline.named_steps['pca'] 
pipeline.steps[1][1] 

Questo vi darà l'oggetto PCA, su cui è possibile ottenere i componenti.

+0

Giusto, grazie. Non quello (uso di 'named_steps') nel [doc qui] (http://scikit-learn.org/dev/modules/generated/sklearn.pipeline.Pipeline.html#sklearn.pipeline.Pipeline). Lo apprezzo. – lmart999

+0

fantastico :) grazie – AbtPst

Problemi correlati