程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

绘制混淆矩阵(MatLab/Python)

发布于2023-06-19 21:09     阅读(3423)     评论(0)     点赞(8)     收藏(3)


本文主要简单介绍如何绘制混淆矩阵      

首先混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型预测的类别判断两个标准进行汇总。

        其实混淆矩阵就是用来判断我们的算法的分类准确度的一个可视化矩阵

1.使用matlab绘制混淆矩阵

        可以使用函数 plotconfusion 来绘制混淆矩阵

plotconfusion(y_true, y_predict)

其中y_true是我们一开始的分类的标签值,而y_predict使我们使用某个算法或者模型进行训练后对样本进行预测得到标签

注意:在使用函数前,要分别对二者使用categorical函数进行分类   如下:

  1. predict_label = predict(SVMModel, data);
  2. y_true = categorical(label);
  3. y_predict = categorical(predict_label);
  4. plotconfusion(y_true, y_predict)

 2.使用Python绘制混淆矩阵

使用sklearn库中的matrix中的confusion_matrix完成绘制

sklearn.metrics.confusion_matrix(y_true, y_pred, *, labels=None, sample_weight=None, normalize=None)
  1. from sklearn.metrics import confusion_matrix
  2. import matplotlib.pyplot as plt
  3. y_pred = [] # ['2','2','3','1','4'] # 类似的格式
  4. y_true = [] # ['0','1','2','3','4'] # 类似的格式
  5. # 对上面进行赋值
  6. C = confusion_matrix(y_true, y_pred)
  7. plt.matshow(C, cmap=plt.cm.Blues) # 根据最下面的图按自己需求更改颜色
  8. for i in range(len(C)):
  9. for j in range(len(C)):
  10. plt.annotate(C[j, i], xy=(i, j), horizontalalignment='center', verticalalignment='center')
  11. plt.ylabel('True label')
  12. plt.xlabel('Predicted label')
  13. plt.show()

可见没有matlab绘制的图那么美观 ,当然你也可以深入研究如何使用python绘制更加精美的混淆矩阵图。

以上就是我分享的内容...

原文链接:https://blog.csdn.net/HcViking/article/details/130711831



所属网站分类: 技术文章 > 博客

作者:老铁哪来的

链接:https://www.pythonheidong.com/blog/article/1990989/ba43eea182a1742b5181/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

8 0
收藏该文
已收藏

评论内容:(最多支持255个字符)