插入符号:带可变tuneGrid的RFE

插入符号:带可变tuneGrid的RFE,r,machine-learning,r-caret,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,

我尝试使用插入符号来拟合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
)
库(“插入符号”)
种子集(342)

训练尝试使用
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): >pls.fit.rfe pls.fit.rfe 递归特征选择 外部重采样方法:交叉验证(2倍,重复1次) 子集大小上的重采样性能: 选择变量RMSE Rsquared RMSESD RsquaredSD 6 1.0229 0.01684 0.04192 0.0155092 99 0.9764 0.00746 0.01096 0.0008339 * 前5个变量(共99个): 如果您不想这样做,您也可以随时调整功能

麦克斯

谢谢,这很有效。但是(从不带RFE的train()的结果来看),似乎在RFE的每一步都没有执行ncomp优化。这是rfe()的预期行为吗?