是否可以从SelectFromModel方法输出选定的列名?
问题描述
我在加载为DataFrame的数据集中使用ExtraTreesSorfier和SelectFromModel进行了特征选择,但是我想将这些选中的特征作为DataFrame保存到CSV文件,同时保持列名。请注意,输出是数值数组返回重要功能整列而不是列标题
import pandas as pd
from sklearn.ensemble import ExtraTreesClassifier
from sklearn.feature_selection import SelectFromModel
import numpy as np
df = pd.read_csv('los_10_one_encoder.csv')
y = df['LOS'] # target
X= df.drop('LOS',axis=1) # drop LOS column
clf = ExtraTreesClassifier()
clf = clf.fit(X, y)
print clf.feature_importances_
model = SelectFromModel(clf, prefit=True)
X_new = model.transform(X)
解决方案
model = SelectFromModel(clf, prefit=True)
feature_idx = model.get_support()
feature_name = df.columns[feature_idx]
相关文章