Путаница с четырехуровневым классом в 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-уровневого класса. Когда у меня есть бинарный класс, он работает нормально.

0 ответов

Другие вопросы по тегам