【发布时间】:2017-08-06 04:57:17
【问题描述】:
我尝试在特征选择中定义变量的名称。我有一个这样的数据集
import pandas as pd
df = pd.DataFrame ({'a' : [1, 0,1, 0,1, 0,1, 0,1, 0 ],
'b' : ['foo', 'bar','foo', 'bar','foo', 'bar','foo', 'bar','foo', 'bar' ] ,
'c' : ['foo', 'bar','bar','foo','foo', 'bar','bar','foo','foo', 'bar' ],
'd' :['d','d','b','a','d','d','a','b','d','a'] })
所以
X, y = df.ix[:, 1:], df.ix[:,[0]]
X_dummy = pd.get_dummies(X)
和
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2
X_new = SelectKBest(chi2, k=4).fit_transform(X_dummy, y)
X_new
array([[0, 1, 0, 1],
[1, 0, 0, 1],
[0, 1, 0, 0],
[1, 0, 1, 0],
[0, 1, 0, 1],
[1, 0, 0, 1],
[0, 1, 1, 0],
[1, 0, 0, 0],
[0, 1, 0, 1],
[1, 0, 1, 0]], dtype=uint8)
我得到数组,但我想知道模型中必须包含哪些变量(b、c 或 d 或它们的虚拟选项)。如何找出这个?谢谢!
【问题讨论】:
标签: python pandas scikit-learn feature-selection