步入RFE并获取'DataFrame对象不可调用'错误

时间:2016-10-08 20:13:50

标签: python scikit-learn rfe

我第一次尝试使用RFE,并且在“DataFrame对象无法调用”错误的情况下敲打我的脑袋。

这是我的代码

X, y = df5(n_samples=875, n_features=10, random_state=0)
estimator = SVR(kernel="linear")
selector = RFE(LinearRegression, step=1, cv=5)
selector = selector.fit(X, y)
df5([ True,  True,  True,  True,  True,
        False, False, False, False, False], dtype=bool)

selector.ranking_
df5([1, 1, 1, 1, 1, 6, 4, 3, 2, 5])

我正在查看一个包含49个功能的数据集,我正在寻找的输出是应保留哪些功能以及哪些功能已被删除。

如果有人可以帮助我弄清楚如何将其变成RFECV,那么可以获得奖励积分!

1 个答案:

答案 0 :(得分:0)

如果您想要选择列,请首先找出有关您的数据帧的信息,然后选择所需的功能。

# the next 2 lines is to initialize DataFrame object (just for the example)
>>> from pandas import DataFrame
>>> df = DataFrame.from_dict({'one': range(10), 'two': range(10, 0, -1), 'three': [3 for x in range(10)]})

# now figure out what columns you df has:
>>> df.head()
   one  three  two
0    0      3   10
1    1      3    9
2    2      3    8
3    3      3    7
4    4      3    6
5    5      3    5
6    6      3    4
7    7      3    3
8    8      3    2
9    9      3    1

# Now you can slice specific columns (features in your case):
>>> df[['one', 'two']]
   one  two
0    0   10
1    1    9
2    2    8
3    3    7
4    4    6
5    5    5
6    6    4
7    7    3
8    8    2
9    9    1

您的要素名称是否为数字?我不确定。检查一下。