Путаница с четырехуровневым классом в R
Я пытаюсь получить матрицу путаницы из многоуровневой факторной переменной (рейтинг)
Мои данные выглядят так:
> head(credit)
Income Rating Cards Age Education Gender Student Married Ethnicity Balance
1 14.891 bad 2 34 11 Male No Yes Caucasian 333
2 106.025 excellent 3 82 15 Female Yes Yes Asian 903
3 104.593 excellent 4 71 11 Male No No Asian 580
4 148.924 excellent 3 36 11 Female No No Asian 964
5 55.882 good 2 68 16 Male No Yes Caucasian 331
6 80.180 excellent 4 77 10 Male No No Caucasian 1151
Я построил дерево классификации с помощью функции rpart(), а затем предсказал вероятности.
credit_model <- rpart(Rating ~ ., data=credit_train, method="class")
credit_pred <- predict(credit_model, credit_test)
Затем я хочу оценить прогноз с помощью CrossTable() из пакета gmodels.
library(gmodels)
CrossTable(credit_test, credit_pred, prop.chisq=FALSE, prop.c=FALSE, prop.r=FALSE, dnn=c("actual Rating", "predicted Rating"))
Но я получаю эту ошибку:
Ошибка в CrossTable(credit_test, credit_pred, prop.chisq = FALSE, prop.c = FALSE,: x и y должны иметь одинаковую длину
Я не знаю, почему я получаю эту ошибку для 4-уровневого класса. Когда у меня есть бинарный класс, он работает нормально.