Ich arbeite mit Scikit lernen auf einem Textklassifikationsexperiment. Jetzt möchte ich die Namen der leistungsstärksten, ausgewählten Funktionen erhalten. Ich habe einige Antworten auf ähnliche Fragen versucht, aber nichts funktioniert. Die letzten Codezeilen sind ein Beispiel dafür, was ich versucht habe. Zum Beispiel, wenn ich feature_names
drucke, erhalte ich diesen Fehler: sklearn.exceptions.NotFittedError: This SelectKBest instance is not fitted yet. Call 'fit' with appropriate arguments before using this method.
Irgendwelche Lösungen?Feature-Namen von sklearn pipeline: nicht passender Fehler
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)))]
Sie müssen das Rohr passen. Siehe meine Antwort – sera