Как вставить выбранные переменные с помощью RFE в модель машинного обучения в r? - PullRequest
0 голосов
/ 25 февраля 2019

Я хочу использовать метод исключения рекурсивных функций, чтобы выбрать лучшие функции и затем включить их в модели машинного обучения.Я пишу код 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 объектов, невозможно отредактировать их и поместить в модель, есть ли способ сделать это автоматически.Я очень ценю ваше мнение.

1 Ответ

0 голосов
/ 25 февраля 2019

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
...