Я использую алгоритм наивного байеса в R. Основная цель - предсказать значение переменной. Но в этой конкретной задаче c я пытаюсь увидеть, какой столбец лучше предсказывает это. Это пример того, что работает (но в реальном наборе данных делать это вручную невозможно):
library(naivebayes)
data("mtcars")
mtcars$vsLog <- as.logical(as.integer(mtcars$vs))
mtcars_train <- mtcars[1:20,]
mtcars_test <- mtcars[20:32,]
car_model <- naive_bayes( data=mtcars_train, vsLog ~ mpg )
predictions <- predict(car_model,mtcars_test)
У меня проблемы с выполнением for l oop, в котором модель принимает по одному столбцу за раз и сохраняет, насколько хорошо каждая модель предсказывала значения. Я рассмотрел разные способы ввода столбцов, чтобы я мог их перебирать, но не смог заставить их работать. Мой минимальный воспроизводимый пример моей проблемы:
library(naivebayes)
data("mtcars")
mtcars$vsLog <- as.logical(as.integer(mtcars$vs))
mtcars_train <- mtcars[1:20,]
mtcars_test <- mtcars[20:32,]
for (j in 1:ncol(mtcars)) {
car_model <- naive_bayes( data=mtcars_train, vsLog ~ mtcars_train[,j] )
predictions[j] <- predict(car_model,mtcars_test)
}
Проблема в как заменить мили на галлон в первом примере чем-то, что я могу oop вместо . Вещи, которые я пробовал: mtcars_train $ mpg, unlist (mtcars_train [, j]), colnames. Я действительно пробовал погуглить, надеюсь, это не слишком глупый вопрос.
Спасибо за чтение