插入符号:带有可变tuneGrid的RFE

时间:2015-01-05 16:44:46

标签: r machine-learning r-caret

我尝试使用插入符号来适应PLS模型,同时优化组件数量' ncomps':

library("caret")
set.seed(342)
train <- as.data.frame ( matrix( rnorm(1e4) , 100, 100 ) )

ctrl <- rfeControl(functions = caretFuncs,                                                      
                   method = "repeatedcv",
                   number=2, 
                   repeats=1,
                   verbose =TRUE
)

pls.fit.rfe <- rfe(V1 ~ .,
                   data = train,   
                   method = "pls",                    
                   sizes =  6,
                   tuneGrid = data.frame(ncomp = 7), 
                   rfeControl = ctrl
)
{p> 错误{:   任务1失败 - &#34;最终调整参数无法确定&#34; 另外:有50个或更多警告(使用警告()查看前50个

组件数量无效,ncomp

将尺寸设置为6可解决问题。当min(大小)

1 个答案:

答案 0 :(得分:2)

尝试使用tuneLength = 7代替tuneGrid。前者更灵活,并且在给定数据集大小的情况下将使用适当的ncomp

> pls.fit.rfe  pls.fit.rfe

Recursive feature selection

Outer resampling method: Cross-Validated (2 fold, repeated 1 times) 

Resampling performance over subset size:

 Variables   RMSE Rsquared  RMSESD RsquaredSD Selected
         6 1.0229  0.01684 0.04192  0.0155092         
        99 0.9764  0.00746 0.01096  0.0008339        *

The top 5 variables (out of 99):

如果你不这样做,你总是可以write your own适应功能。

最高