我发帖是因为这篇帖子feture selection in caret已经帮助解决了我的问题,我在插入符号包中有2个关于功能选择功能的问题
当我在allsamplecombat
中定义的5个类的基因表达式y=
矩阵上运行下面的代码时:
control <- rfeControl(functions=rfFuncs, method="cv", number=10)
results <- rfe(t(allsamplecombat[filter,]), y = factor(info$clust), sizes=c(300,400,500,600,700,800,1000,1200), rfeControl=control)
我得到像这样的外出
所以,我想知道我是否可以为每个类提取顶级特性,因为predictors(results)
只是给出了我得到的特征而没有表明每个类的重要性。
我的第二个问题是,当我尝试将rfeControl functions
更改为treebagFuncs
并运行&#39; parRF`方法
control <- rfeControl(functions=treebagFuncs, method="cv", number=5)
results <- rfe(t(allsamplecombat[filter,]), y = factor(info$clust), sizes=c(400,500,600,700,800), rfeControl=control, method="parRF")
我收到Error in { : task 1 failed - "subscript out of bounds"
错误。
我的代码有什么问题?
答案 0 :(得分:0)
对于重要性,有一个名为variables
的子对象,其中包含每个消除步骤的信息。
treebagFuncs
旨在与ipred
的{{1}}函数一起使用,与随机森林无关。
您可能会使用bagging
并将caretFuncs
传递给它。 然而,如果要进行并行化处理,请执行重采样循环而不是模型函数。这通常更有效。请注意,如果您同时使用method
个工作人员,实际上可能会M
(一个用于M^3
,一个用于rfe
,一个用于train
)。 parRF
和rfe
中有一些选项可以解决其并行问题。