Simple Logisti c Регрессия в L oop? - PullRequest
2 голосов
/ 16 июня 2020

У меня есть несколько функций для многомерной логистической c регрессии, но я хочу протестировать каждую функцию индивидуально для нескольких одномерных логистических c регрессий.

Я пытаюсь сделать все oop вот так

features <- c("f1","f2","f3","f4")
out <- list()
for (f in features) {
    mod <- train(form = positive ~ f,
                 data = training,
                 method = "glm",
                 metric = "ROC",
                 family = "binomial")
    out <- append(out,mod)
}

Я получаю сообщение об ошибке, что переменные длины различаются (найдено для 'f'). Я думаю, он не распознает f как имя столбца? Как я могу это исправить?

1 Ответ

1 голос
/ 16 июня 2020

Для справки в будущем ответ с представителем, который использует то же решение, которое было предложено @Rorschach:

x <- runif(50, min = 0, max = 100) 
z <- runif(50, min = 0, max = 100)
a <- runif(50, min = 0, max = 100)
b <- runif(50, min = 0, max = 100)
positive <- rbinom(50,1, 0.4)

training <- as.data.frame(cbind(x,z,a,b,positive = positive))
training$positive <- factor(training$positive)

library(caret)
features <- c("x","z","a","b")
out <- list()
for (f in features) {
  mod <- train(form = as.formula(paste("positive ~ ", f)),
               data = training,
               method = "glm",
               family = "binomial")

    out <- append(out,mod)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...