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

时间:2017-04-11 16:42:48

标签: r r-caret feature-selection rfe

我有一个简单的代码,使用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个要素(这是初始数据集中要素的总数)。

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

谢谢!

1 个答案:

答案 0 :(得分: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)。