在R中,插入符号RFE功能选择的功能多于允许的大小

问题描述 投票:0回答:1

我有一个简单的代码,使用rfe在我的数据的不同时间段上执行功能选择。我使用以下rfeControlrfe函数调用:

control <- rfeControl(functions=rfFuncs, method="cv", number=10)
results <- rfe(feature_selection_data
               , feature_selection_target$value
               , sizes = c(1:12)
               , rfeControl = control)

每次运行时我都会将值插入到列表中:

include <- predictors(results)
include_list[[row]] <- include

不知何故,虽然我将大小设置为最多12个,但在20个时间段中的2个中,特征选择会产生65个特征(这是初始数据集中的特征总数)。

我是新手使用这个功能,我不知道我在这里做错了什么,感谢任何帮助!

谢谢!

r r-caret feature-selection rfe
1个回答
0
投票

如果你看一下RFE算法(http://topepo.github.io/caret/recursive-feature-elimination.html)的描述,你会发现有必要在第一次迭代中包含所有的特征。

您的下一个问题可能是如何选择功能较少的次优模型。一个答案可以在这里找到(尽管它没有太大帮助):Access all models produced by rfe in caret

我建议调整排名功能,以允许功能集在误差方面不是最优的,但是更小(参见:http://topepo.github.io/caret/recursive-feature-elimination.html#the-selectsize-function)。

© www.soinside.com 2019 - 2024. All rights reserved.