我尝试使用插入符号来适应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(大小)
答案 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适应功能。
最高