Je travaille avec scikit learn sur une expérience de classification de texte. Maintenant, je voudrais obtenir les noms des meilleures caractéristiques sélectionnées. J'ai essayé quelques-unes des réponses à des questions similaires, mais rien ne fonctionne. Les dernières lignes de code sont un exemple de ce que j'ai essayé. Par exemple quand j'imprime feature_names
, j'obtiens cette erreur: sklearn.exceptions.NotFittedError: This SelectKBest instance is not fitted yet. Call 'fit' with appropriate arguments before using this method.
Des solutions?noms de fonctionnalités de pipeline Sklearn: erreur non installée
scaler = StandardScaler(with_mean=False)
enc = LabelEncoder()
y = enc.fit_transform(labels)
feat_sel = SelectKBest(mutual_info_classif, k=200)
clf = linear_model.LogisticRegression()
pipe = Pipeline([('vectorizer', DictVectorizer()),
('scaler', StandardScaler(with_mean=False)),
('mutual_info', feat_sel),
('logistregress', clf)])
feature_names = pipe.named_steps['mutual_info']
X.columns[features.transform(np.arange(len(X.columns)))]
Vous devez installer le tuyau. Voir ma réponse – sera