混淆矩阵错误:错误:`data`和`reference`应该是具有相同级别的因子

混淆矩阵错误:错误:`data`和`reference`应该是具有相同级别的因子,r,machine-learning,classification,confusion-matrix,rpart,R,Machine Learning,Classification,Confusion Matrix,Rpart,编辑问题: 我有一个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] <- "uni

编辑问题:

我有一个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)
这里是实现的代码

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

y_hat Help others Help you:Provide。特别是,我们无法访问或了解癌症数据的结构,因此很难看出
test\u set$projection
pred\u tree\u test
之间的脱节最终是什么。也许需要注意的一点是
水平(test\u set$protogration)
水平(pred\u tree\u test)
之间的差异让我这样说:最可能的问题似乎是预测不包含
预后的所有水平,但是,如果看不到我在上一篇评论中提到的两个命令的数据或输出,就很难判断。
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')