Я использую функцию предиката (), чтобы предсказать переменную покупки в blackFriday_test. Когда я использую cor () с этими переменными в качестве аргументов, я получаю сообщение об ошибке «несовместимые измерения».
Я попытался посмотреть на измерение переменной «Покупки» в blackFriday_test, которое равно 107516, но прогнозируемые значения оказались равны только 32955.
Данные были загружены с https://www.kaggle.com/mehdidag/black-friday.
library(caret)
blackFriday <- read.csv("BlackFriday.csv", stringsAsFactors = T)
Здесь я удаляю первые две функции, потому что они являются идентификаторами
nblackFriday <- blackFriday[, 3:12]
set.seed(189)
train <- sample(nrow(nblackFriday), as.integer(0.8 * nrow(nblackFriday)), replace = F)
blackFriday_train <- nblackFriday[train, ]
blackFriday_test <- nblackFriday[-train, ]
Удаление NA из двух переменных, где они присутствуют
nblackFriday$Product_Category_2 <- ifelse(is.na(nblackFriday$Product_Category_2), mean(nblackFriday$Product_Category_2, na.rm = T), nblackFriday$Product_Category_2)
nblackFriday$Product_Category_3 <- ifelse(is.na(nblackFriday$Product_Category_3), mean(nblackFriday$Product_Category_3, na.rm = T), nblackFriday$Product_Category_3)
blackFriday_train$Product_Category_2 <- nblackFriday$Product_Category_2[train]
blackFriday_train$Product_Category_3 <- nblackFriday$Product_Category_3[train]
m <- train(Purchase ~ ., data = blackFriday_train, method = "rpart")
p <- predict(m, blackFriday_test)
cor(p, blackFriday_test$Purchase)
```
#This is where I get the error
I expect the number of predicted values to be the same as the number of rows in blackFriday_test, but they are not.