Ошибка с матрицей путаницы: Ошибка: `data` и` reference` должны быть факторами с одинаковыми уровнями - PullRequest
0 голосов
/ 18 января 2020

Отредактированный вопрос:

У меня есть набор данных из 699 строк, и в упражнении, над которым я работаю, мне предлагается создать обучающий набор из 300 наблюдений. Остальное будет тестовым набором. Я записываю всю возможную информацию, чтобы сделать ситуацию как можно более понятной.

#First part of the code & Preprocessing
attach(Cancer_data)
names(Cancer_data)[1] <- "id"
names(Cancer_data)[2] <- "thickness"
names(Cancer_data)[3] <- "unif.size"
names(Cancer_data)[4] <- "unif.shape"
names(Cancer_data)[5] <- "adhesion"
names(Cancer_data)[6] <- "size"
names(Cancer_data)[7] <- "nuclei"
names(Cancer_data)[8] <- "chromatin"
names(Cancer_data)[9] <- "nucleoli"
names(Cancer_data)[10] <- "mitoses" 
names(Cancer_data)[11] <- "Prognosis"   
#Prognosis are my class labels 2 for benign cancer 4 for malignant
Prognosis <- as.factor(Cancer_data$Prognosis)
Cancer_data <- Cancer_data %>% dplyr :: select(-id)

Переходя непосредственно к модели rpart, избегая перезаписи разделения данных, что достаточно ясно, я реализую эту модель дерева классификации с r part

rpart_model <- rpart(Prognosis ~.,method = "class",data = train_set)
#The train_set was implemented before with caret:: createDataPrtition()

Теперь это главная проблема, потому что когда я прогнозирую производительность дерева на test_set и пытаюсь получить путаницу, Matrix R возвращает мне эту ошибку:

Error: `data` and `reference` should be factors with the same levels.

здесь реализованный код

y_hat <- predict(rpart_model,test_set)
confusionMatrix(Cancer_data$Prognosis,y_hat)

Я также пытался

y_hat <- predict(rpart_model,type ='class')

, как это было предложено в предыдущем Пост

Я прошу прощения за длину вопроса, но я предпочел быть как можно более точным. Заранее спасибо

...