#Confusion matrix
# training
p<- predict(model, rail)
tab<- table(p, rail$OPS)
tab
1-sum(diag(tab))/sum(tab)
#testing
p1<- predict(model, test)
tab1<- table(p1, test$OPS)
tab1
1-sum(diag(tab1))/sum(tab1)
#end
library(e1071)
#data
confusionMatrix(rail$OPS, sample(rail$OPS))
newPrior <- c(.05, .8, .15, 0.5, 0.9)
names(newPrior) <- levels(rail$OPS)
cm <-confusionMatrix(rail$OPS, sample(rail$OPS))
#2
# extract the confusion matrix values as data.frame
cm_d <- as.data.frame(cm$table)
# confusion matrix statistics as data.frame
cm_st <-data.frame(cm$overall)
# round the values
cm_st$cm.overall <- round(cm_st$cm.overall,2)
# here we also have the rounded percentage values
cm_p <- as.data.frame(prop.table(cm$table))
cm_d$Perc <- round(cm_p$Freq*100,2)
#3
library(ggplot2) # to plot
library(gridExtra) # to put more
library(grid) # plot together
# plotting the matrix
cm_d_p <- ggplot(data = cm_d, aes(x = Prediction , y = Reference, fill = Freq))+
geom_tile() +
geom_text(aes(label = paste("",Freq,",",Perc,"%")), color = 'red', size = 8) +
theme_light() +
guides(fill=FALSE)
# plotting the stats
cm_st_p <- tableGrob(cm_st)
# all together
grid.arrange(cm_d_p, cm_st_p,nrow = 1, ncol = 2,
top=textGrob("Confusion Matrix and Statistics",gp=gpar(fontsize=25,font=1)))
#search confusion matrix plot
###########################################################################
0 comments:
Post a Comment