我想要選擇基於樹的功能。 我的數據集有大約30列,做完之後,大約有5個。 對我來說,這對我來說很好,我遇到的問題是我得到的5列的數據集不保留列的名稱,我可以不識別他們。Scikit學習基於樹的功能選擇保留列名稱?
import pandas as pd
from sklearn.ensemble import ExtraTreesClassifier
from sklearn.feature_selection import SelectFromModel
data = pd.read_csv(file)
X = data.drop('target', 1)
y = data['target']
X.shape #(100000, 30)
clf = ExtraTreesClassifier()
clf = clf.fit(X, y)
clf.feature_importances_
model = SelectFromModel(clf, prefit=True)
X_new = model.transform(X)
X_new.shape #(100000, 5)
有人可以幫我嗎?
試試['get_support '](http://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.SelectFromModel.html#sklearn.feature_selection.SelectFromModel.get_support)功能。正如'model.get_support(indices = True)' – ehudk
你好ehudk,按照你所告訴我的,我得到所選原始數據集的列號。確實沒有表明列的名稱,但它是一個解決方案。如果有人願意貢獻,我會留下這個問題。非常感謝您的幫助 – Javi