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

is there away to output selected columns names from SelectFromModel method?(是否可以从SelectFromModel方法输出选定的列名?)

本文介绍了是否可以从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]

这篇关于是否可以从SelectFromModel方法输出选定的列名?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:是否可以从SelectFromModel方法输出选定的列名?

基础教程推荐