#r #r-caret #training-data
#r #r-каретка #обучение-данные
Вопрос:
Я просмотрел другие опубликованные вопросы, касающиеся этой проблемы, но мне не удалось заставить мой код работать.
Вот мой код:
library(titanic)
library(caret)
library(tidyverse)
library(rpart)
# 3 significant digits
options(digits = 3)
# clean the data
titanic_clean <- titanic_train %>%
mutate(Survived = factor(Survived),
Embarked = factor(Embarked),
Age = ifelse(is.na(Age), median(Age, na.rm = TRUE), Age), # NA age to median age
FamilySize = SibSp Parch 1) %>% # count family members
select(Survived, Sex, Pclass, Age, Fare, SibSp, Parch, FamilySize, Embarked)
index <- createDataPartition(titanic_clean$Survived, times = 1, p = 0.2, list = FALSE)
test_set <- titanic_clean[index, ]
train_set <- titanic_clean[-index, ]
caret::train(train_set$Survived ~ train_set$Fare, method="glm", data=train_set)
Функция train возвращает следующую ошибку:
Error in `[.data.frame`(data, , all.vars(Terms), drop = FALSE) :
undefined columns selected
Есть идеи?
Комментарии:
1. когда вы предоставляете данные и формулу, вам не нужно явно вызывать столбец, поэтому выполните
train(Survived ~ Fare, method="glm", data=train_set)
2. Спасибо @StupidWolf, это решило проблему.
3. Продолжение; если я запускаю predict([вывод из train], data=test_set) Я получаю следующее сообщение об ошибке: в ‘newdata’ было 179 строк, но найденные переменные имеют 712 строк?
4. аргумент
newdata=
вместоdata=...