Я застрял на модели CART в R. Мой набор данных имеет около 7000 строк, 50 столбцов. Я разделил набор данных на 75% тренировочных и 25% тестовых данных, поэтому в моем тренировочном наборе 5658 строк, а в тестовом наборе 1886 строк.
Сначала я создал модель CART с несколькими функциями в наборе обучающих данных, которые прошел и дерево выглядело все хорошо. Затем я попытался применить эту модель к данным тестирования, но сообщение об ошибке всегда показывалось, как показано ниже, когда выполнялась самая последняя строка кода. Я также приложил снимок экрана.
library(dplyr)
set.seed(111)
cart_sample <- sample.int(n = nrow(cart), size = floor(.75*nrow(cart)), replace = F)
cart_train <- cart[cart_sample, ]
cart_test <- cart[-cart_sample, ]
# Build the model1
# Set cp = 0.01
library(rpart)
library(rpart.plot)
model1 <- price ~ neighbourhood_group + property_type + room_type + accommodates + bedrooms + bathrooms + amenities_ac + amenities_petsallowed + amenities_freeparking
tree1 <- rpart(formula = model1, data = cart_train, control = rpart.control(cp = 0.01))
rpart.plot(tree1)
# Predict using test dataset
cart_test$pred1_price <- predict(tree1, data = cart_test)
Ошибка в наборе (x, j = имя, значение = значение): предоставлено 5658 элементов для назначения 1886 элементам столбца pred1_price. Если вы хотите sh перезапустить RHS, пожалуйста, используйте rep (), чтобы прояснить это намерение читателям вашего кода.
скриншот кода и сообщения об ошибке
Я не понимаю, почему возникает ошибка. Размер, тренировочный набор и тестовый набор не должны быть одинаковыми. Чего мне не хватает?