当我使用带有Caret包中的列车功能的PCA预处理随机森林时,如果我添加expand.grid(ncomp=c(2,5,10,15))
,我还需要为mtry提供一个网格。
res <- train(Y~., data=df, method="icr", preProc = c("center",
"scale"), tuneGrid = expand.grid(n.comp = c(2,5,10,15))))
我宁愿不提供它,让它在我使用PCA预处理执行相同的随机森林而不指定任何expand.grid
的情况下工作。
res <- train(Y~., data=df, method="icr", preProc = c("center",
"scale")))
有谁知道如何解决这个问题?
非常感谢
答案 0 :(得分:0)
我找到了答案,我发布了有兴趣的人。 您需要在trainControl中添加ICA参数,因为ICA用于预处理。
fitControl <-(preProcOptions = list(ICAcomp = 2))
res <- train(Y~., data=df, method="icr", preProc = c("center","scale")))
不幸的是,在这种情况下,我认为你不能为ICA comp提供网格
答案 1 :(得分:0)
n.comp
调用{p> preProcess
时,{p> train
不会向{{1}}功能公开。
一种替代方法是使用自定义方法。 Here是几乎完全符合您要求的示例(但使用PLS而不是PCA)。
最高