[英]How to create a confusion matrix for a decision tree model
我在創建混淆矩陣以將模型預測與實際值進行比較時遇到一些困難。 我的數據集包含159個解釋變量,我的目標稱為“分類”。
#Load Data
df <- read.csv("https://d396qusza40orc.cloudfront.net/predmachlearn/pml-training.csv", na.strings=c("NA","#DIV/0!",""))
#Split into training and validation
index <- createDataPartition(df$classe, times=1, p=0.5)[[1]]
training <- df[index, ]
validation <- df[-index, ]
#Model
decisionTreeModel <- rpart(classe ~ ., data=training, method="class", cp =0.5)
#Predict
pred1 <- predict(decisionTreeModel, validation)
#Check model performance
confusionMatrix(validation$classe, pred1)
從上面的代碼生成以下錯誤信息:
Error in confusionMatrix.default(validation$classe, pred1) :
The data must contain some levels that overlap the reference.
我認為這可能與預測函數生成的pred1變量有關,它是一個包含5列的矩陣,而validation $ classe是一個包含5個級別的因子。 關於如何解決這個問題的任何想法?
提前致謝
您的預測為您提供了每個班級的概率矩陣。 如果您希望返回“優勝者”(預測類),請用以下代碼替換預測行:
pred1 <- predict(decisionTreeModel, validation, type="class")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.