用R中的颜色和频率绘制混淆矩阵

 杨扬洒傻 发布于 2023-01-29 10:09

我想绘制一个混淆矩阵,但是,我不想只使用热图,因为我认为它们的数值分辨率很差.相反,我还想在正方形的中间绘制频率.例如,我喜欢这个的输出:

library(mlearning);
data("Glass", package = "mlbench")
Glass$Type <- as.factor(paste("Glass", Glass$Type))

summary(glassLvq <- mlLvq(Type ~ ., data = Glass));
(glassConf <- confusion(predict(glassLvq, Glass, type = "class"), Glass$Type))

plot(glassConf) # Image by default

但是,1.)我不明白"01,02等"是指每个轴.我们怎样才能摆脱这种局面?2.)我希望'Predicted'作为'y'维度的标签,'Actual'作为'x'维度的标签3.)我想用频率/概率替换绝对计数.

或者,是否有其他包可以做到这一点?

从本质上讲,我希望在R中:

http://www.mathworks.com/help/releases/R2013b/nnet/gs/gettingstarted_nprtool_07.gif

要么:

http://c431376.r76.cf2.rackcdn.com/8805/fnhum-05-00189-HTML/image_m/fnhum-05-00189-g009.jpg

1 个回答
  • mlearning封装似乎非常灵活,可以绘制混淆矩阵.

    从您的glassConf对象开始,您可能希望执行以下操作:

    prior(glassConf) <- 100 
    # The above rescales the confusion matrix such that columns sum to 100.
    opar <- par(mar=c(5.1, 6.1, 2, 2))
    x <- x.orig <- unclass(glassConf)
    x <- log(x + 0.5) * 2.33
    x[x < 0] <- NA
    x[x > 10] <- 10
    diag(x) <- -diag(x)
    image(1:ncol(x), 1:ncol(x),
          -(x[, nrow(x):1]), xlab='Actual', ylab='',
          col=colorRampPalette(c(hsv(h = 0, s = 0.9, v = 0.9, alpha = 1), 
                                 hsv(h = 0, s = 0, v = 0.9, alpha = 1), 
                                 hsv(h = 2/6, s = 0.9, v = 0.9, alpha = 1)))(41), 
          xaxt='n', yaxt='n', zlim=c(-10, 10))
    axis(1, at=1:ncol(x), labels=colnames(x), cex.axis=0.8)
    axis(2, at=ncol(x):1, labels=colnames(x), las=1, cex.axis=0.8)
    title(ylab='Predicted', line=4.5)
    abline(h = 0:ncol(x) + 0.5, col = 'gray')
    abline(v = 0:ncol(x) + 0.5, col = 'gray')
    text(1:6, rep(6:1, each=6), 
         labels = sub('^0$', '', round(c(x.orig), 0)))
    box(lwd=2)
    par(opar) # reset par
    

    上面的代码使用了confusionImage被调用的函数的位plot.confusion.

    混淆矩阵

    2023-01-29 10:12 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有