2017-04-04 83 views
0

我想按照插入符号包的rfe的方法对我的随机福雷斯特模型进行特征选择。由于我的数据集只包含大约100个标记的样本,而且它非常不平衡(这反映了真实生活的平衡),所以我需要/想要进行分层交叉验证。但是,我没有找到关于分层交叉验证的rfeControl函数的任何文档。插入符号中的rfeControl函数是否会产生分层褶皱?

是否有人知道,如果我使用

ctrl <- rfeControl(functions = rfFuncs, 
       method = "cv", 
       verbose = FALSE) 

回答

1

method ="cv"rfe()应该使用createFolds()创建您的褶皱rfeControl功能并创建分层的褶皱,而这些会根据你的输出变量进行平衡。 您可以看到?createFolds以了解如何实施的详细信息。

+0

谢谢! createFolds注释的说明**对于createFolds和createMultiFolds,根据样本大小和k动态设置组数 。对于较小的样本大小,这两个函数可能不会进行分层分割,并且至多会将数据分成四分位数。**因此,我不太确定何时以及如何进行这种动态调整,但我会尝试'method =“ cv“'看看结果。 –

+1

是的,这取决于你的数据。你也可以在'rfeControl'中使用参数'index'来传递你自己的索引(可能用'createFolds'创建)。 –