0

我第一次尝试使用 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,则可以加分!

4

1 回答 1

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

您的功能名称是数字吗?我不知道。核实。

于 2016-10-11T05:55:04.497 回答