#r #error-handling
#r #обработка ошибок
Вопрос:
Я довольно новичок в DS, особенно в решении возникающих проблем с ошибками. Была бы очень признательна за любую помощь, чтобы объяснить нижеприведенное, пожалуйста:
Я настроил дерево решений ML:
training_tree <- rpart(formula = Target ~ ., data = training[,-1], # removed first column as not just ID method = "class", minbucket = 5, cp = 0, model = TRUE)
Обрезал его:
ptree <- prune(training_tree, cp = 0.002, "CP") # based on CP feedback
Создано предсказание для обучающих данных:
training$prediction <- predict(ptree, data = training, type = "class")
Пытался использовать для тестовых данных:
testing$prediction <- predict(ptree, data = testing2[,-1], # have also removed first column type = "class")
Затем я получаю следующую ошибку:
Error in $<-.data.frame(*tmp*, prediction, value = c(1L, 2L, 2L, 2L, : replacement has 625 rows, data has 266
Я понимаю, что в моих обучающих данных было 625 строк, а в моих тестовых данных — 266.
Как мне исправить? По какой причине это всплывает, чтобы я мог избежать в будущем?
Комментарии:
1. Вам нужно
testing$prediction <- predict(ptree, newdata = testing2[,-1]
(не данные = …) Пожалуйста, смотритеhelp(predict.tree)
2. отлично, спасибо!