Python中功能选择输出的列名称(Scikit Learn)

时间:2017-10-18 22:25:30

标签: python numpy scikit-learn feature-selection

免责声明:我对Python很陌生。

我已经在Python 2.7 scikit learn中对我的数据集进行了特征选择的预处理步骤。在这样做的过程中,我将列数从222减少到77.

我的问题是功能选择的输出是一个numpy数组,它似乎剥离了列名。我需要知道保留了哪些列,但如果我看不到列名,我不知道如何获取这些信息。 这是我的功能选择代码,它返回一个矩阵:

 clf = ExtraTreesClassifier()
 clf = clf.fit(X, y)
 clf.feature_importances_  
 model = SelectFromModel(clf, prefit=True)
 X_new = model.transform(X)

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

使用model.get_support()

  

get_support(indices = False)

     

获取掩码或整数索引   选择的功能

假设您在X中共有5个功能,并且从中选择了3个:第一个,第二个和第五个。

然后model.get_support()将返回:

[True, True, False, False, True]

如果您使用model.get_support(indices=True),那么您将获得:

[0,1,4]

希望这能解决你的问题。