Ошибка дерева решений: замена имеет 625 строк, данные имеют 266

#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. отлично, спасибо!