如何通过RFE将选定的变量插入r中的机器学习模型?

问题描述 投票:2回答:1

我想使用递归特征消除方法来选择顶部特征,然后将它们放入机器学习模型中。我把RFE的代码写成了

library(mlbench)
library(caret)
control <- rfeControl(functions=rfFuncs, method="cv", number=10)
results <- rfe(train[,1:134], train[,135], sizes=c(1:134),rfeControl=control)
print(results)
predictors(results)

然后代码给出了我的主要功能:[1]“a”“b”“c”“d”“e”,最后我把功能放在模型中:

weighted_fit <- train(x ~ a+b+c+d,
data = train,
method = 'glmnet',
trControl = ctrl)

我的问题是每当RFE给我作为[1]“a”“b”“c”“d”“e”的顶级特征时,我必须将它们编辑为+ b + c + d并将它们放入模型中但是,当手动选择50个功能作为顶级功能时,无法对其进行编辑并将其放入模型中,有没有办法自动执行此操作。我非常感谢你的意见。

r machine-learning rfe
1个回答
1
投票

help("update")你在找什么?

x <- rnorm(10)
a <- 1:10
b <- 11:20
c <- 21:30
d <- rnorm(10)

fmla <- x ~ a

update(fmla, "~b")
#x ~ b

new <- c("b", "c", "d")
update(fmla, paste("~", paste(new, collapse = "+")))
#x ~ b + c + d
© www.soinside.com 2019 - 2024. All rights reserved.