是否可以从SelectFromModel方法输出选定的列名?

2022-02-21 00:00:00 python scikit-learn

问题描述

我在加载为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]

相关文章