混淆矩阵数据中的错误不能有更多级别 CARET
Error in confusion matrix data can't have more levels CARET
数据集可以在这里找到:https://archive.ics.uci.edu/ml/datasets/Bank+Marketing#
set.seed(1234)
ind <- sample(2, nrow(bank), replace = TRUE, prob = c(0.7, 0.3))
train.data <- bank[ind == 1, ]
test.data <- bank[ind == 2, ]
我正在搜索我的问题,我试图将其设置为混淆矩阵中的一个因素。但是问题根本没有解决
cartmodel <- rpart(y ~., data = train.data)
cartmodel
cart.pred = predict(cartmodel, test.data)
summary(cart.pred)
confusionMatrix(as.factor(cart.pred),as.factor(test.data$y))
confusionMatrix
我需要改变什么?数据集是 Bank.. 所以 Num 和 Factor 属性。
更新:我尝试更改所有归因于因素..仍然错误
使用来自 UCI 的 csv(也可以试试这个 link):
library(rpart)
library(caret)
bank = read.csv("../bank/bank-full.csv",sep=";")
set.seed(1234)
ind <- sample(2, nrow(bank), replace = TRUE, prob = c(0.7, 0.3))
train.data <- bank[ind == 1, ]
test.data <- bank[ind == 2, ]
当您调用 predict()
时,您得到的是概率,而不是标签:
cartmodel <- rpart(y ~., data = train.data)
cart.pred = predict(cartmodel, test.data)
head(cart.pred)
no yes
5 0.9393461 0.06065387
14 0.9393461 0.06065387
16 0.9393461 0.06065387
26 0.9393461 0.06065387
28 0.9393461 0.06065387
29 0.9393461 0.06065387
获取标签:
cart.pred = predict(cartmodel, test.data,type="class")
confusionMatrix(cart.pred,test.data$y)
Confusion Matrix and Statistics
Reference
Prediction no yes
no 11710 1039
yes 302 517
Accuracy : 0.9012
95% CI : (0.896, 0.9061)
No Information Rate : 0.8853
P-Value [Acc > NIR] : 1.831e-09
Kappa : 0.3869
数据集可以在这里找到:https://archive.ics.uci.edu/ml/datasets/Bank+Marketing#
set.seed(1234)
ind <- sample(2, nrow(bank), replace = TRUE, prob = c(0.7, 0.3))
train.data <- bank[ind == 1, ]
test.data <- bank[ind == 2, ]
我正在搜索我的问题,我试图将其设置为混淆矩阵中的一个因素。但是问题根本没有解决
cartmodel <- rpart(y ~., data = train.data)
cartmodel
cart.pred = predict(cartmodel, test.data)
summary(cart.pred)
confusionMatrix(as.factor(cart.pred),as.factor(test.data$y))
confusionMatrix
我需要改变什么?数据集是 Bank.. 所以 Num 和 Factor 属性。
更新:我尝试更改所有归因于因素..仍然错误
使用来自 UCI 的 csv(也可以试试这个 link):
library(rpart)
library(caret)
bank = read.csv("../bank/bank-full.csv",sep=";")
set.seed(1234)
ind <- sample(2, nrow(bank), replace = TRUE, prob = c(0.7, 0.3))
train.data <- bank[ind == 1, ]
test.data <- bank[ind == 2, ]
当您调用 predict()
时,您得到的是概率,而不是标签:
cartmodel <- rpart(y ~., data = train.data)
cart.pred = predict(cartmodel, test.data)
head(cart.pred)
no yes
5 0.9393461 0.06065387
14 0.9393461 0.06065387
16 0.9393461 0.06065387
26 0.9393461 0.06065387
28 0.9393461 0.06065387
29 0.9393461 0.06065387
获取标签:
cart.pred = predict(cartmodel, test.data,type="class")
confusionMatrix(cart.pred,test.data$y)
Confusion Matrix and Statistics
Reference
Prediction no yes
no 11710 1039
yes 302 517
Accuracy : 0.9012
95% CI : (0.896, 0.9061)
No Information Rate : 0.8853
P-Value [Acc > NIR] : 1.831e-09
Kappa : 0.3869