Я разрабатываю модель прогнозирования CTR для соревнования Kaggle (link). Я прочитал в первые 100000 строк данных из обучающего набора, затем далее разделить это на поезд/тестовых наборов на 80/20 поКак проверить модель логистической регрессии в R?
ad_data <- read.csv("train", header = TRUE, stringsAsFactors = FALSE, nrows = 100000)
trainIndex <- createDataPartition(ad_data$click, p=0.8, list=FALSE, times=1)
ad_train <- ad_data[trainIndex,]
ad_test <- ad_data[-trainIndex,]
затем я использовал данные ad_train разработать модель GLM
ad_glm_model <- glm(ad_train$clicks ~ ad_train$C1 + ad_train$site_category + ad_train$device_type, family = binomial(link = "logit"), data = ad_train)
Но всякий раз, когда я пытаюсь использовать функцию предсказать, чтобы проверить, насколько хорошо он делает на множестве ad_test, я получаю ошибку:
test_model <- predict(ad_glm_model, newdata = ad_test, type = "response")
Warning message:
'newdata' had 20000 rows but variables found have 80000 rows
Что дает? Как проверить мою модель GLM на новые данные?
EDIT: Он отлично работает. Просто нужно сделать этот вызов вместо:
ad_glm_model <- glm(clicks ~ C1 + site_category + device_type, family = binomial(link = "logit"), data = ad_train)
не использовать '' ad_train $ в вызове GLM, просто используйте '' данных = вместо – user20650