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

时间:2019-02-25 15:40:04

标签: r machine-learning rfe

我想使用递归特征消除方法选择最重要的特征,然后将其放入机器学习模型中。我将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”的主要特征时,我都必须将它们编辑为a + b + c + d并将其放入但是,当手动将其添加到模型中时,如果有50个要素被选为主要要素,则无法对其进行编辑并将其放入模型中,有什么方法可以自动执行。非常感谢您的意见。

1 个答案:

答案 0 :(得分: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