2016-09-20 69 views
0

我使用的是从feature selection documentaion开始的基于L1的特征选择。转换后的结果给出了一个numpy数组。有没有一种方法可以找出在转换输出X_new中选择了哪些功能。找出特征选择中已转换输出中的选定特征

from sklearn.svm import LinearSVC 
from sklearn.datasets import load_iris 
from sklearn.feature_selection import SelectFromModel 
import pandas as pd 
iris = load_iris() 
y=iris.target 
X = pd.DataFrame(iris.data,columns=['sepal_length','sepal_width','petal_length','petal_width']) 
print X.shape #(150,4)                                
lsvc = LinearSVC(C=0.01, penalty="l1", dual=False).fit(X, y) 
model = SelectFromModel(lsvc, prefit=True) 
X_new = model.transform(X) 
print X_new.shape #(150, 3) 

回答

0

我从这个问题Which features selects fit_transform?是lsvc.coef_会回到我的完整transfromed numpy的阵列具有所有0's一些功能想通。

df=pd.DataFrame(lsvc.coef_,columns=['sepal_length','sepal_width','petal_length','petal_width']) 
print df.columns[(df == 0).all()]