我第一次尝试使用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,那么可以获得奖励积分!
答案 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
您的要素名称是否为数字?我不确定。检查一下。