机器学习中的混淆矩阵

混淆矩阵


让混淆矩阵不再混淆

混淆矩阵是用于总结分类算法性能的技术。如果每个类中的样本数量不等,或者数据集中有两个以上的类,则仅用分类准确率作为评判标准的话可能会产生误导。计算混淆矩阵可以让我们更好地了解分类模型的表现情况以及它所犯的错误的类型。

阅读这篇文章后你会了解到:

  • 混淆矩阵是什么以及为什么需要使用混淆矩阵;

  • 如何自己由脚本构造两种类别的分类问题的混淆矩阵;

  • 如何在Python中创建混淆矩阵。


1.分类准确率及其局限性

分类准确率是预测正确的样本数与总样本数的比值

即:分类准确率 = 预测正确的样本数 / 总样本数

错误率即: 错误率 = 1 - 分类准确率

分类准确率看上去是一个不错的评判标准,但在实际当中往往却存在着一些问题。其主要问题在于它隐藏了我们需要的细节,从而阻碍我们更好地理解分类模型的性能。 有两个最常见的例子:

  1. 当我们的数据有2个以上的类时,如3个或更多类,我们可以得到80%的分类准确率,但是我们却不知道是否所有的类别都被预测得同样好,或者说模型是否忽略了一个或两个类;

  2. 当我们的每个类中的样本数并不接近时,我们可以达到90%或更高的准确率,但如果每100个记录中有90个记录属于一个类别,则这不是一个好分数,我们可以通过始终预测最常见的类值来达到此分数。如90个样本都属于类别1,则我们的模型只需要预测所有的样本都属于类别1,便可以达到90%或更高的准确率。

分类准确率可以隐藏诊断模型性能所需的详细信息,但幸运的是,我们可以通过混淆矩阵来进一步区分这些细节。


2.什么是混淆矩阵

混淆矩阵是对分类问题的预测结果的总结。使用计数值汇总正确和不正确预测的数量,并按每个类进行细分,这是混淆矩阵的关键所在。**混淆矩阵显示了分类模型的在进行预测时会对哪一部分产生混淆。**它不仅可以让您了解分类模型所犯的错误,更重要的是可以了解哪些错误类型正在发生。正是这种对结果的分解克服了仅使用分类准确率所带来的局限性。


3.怎么计算混淆矩阵
  1. 我们需要具有类别标签的测试数据集或验证数据集;

  2. 对测试数据集中的每一行进行预测;

  3. 从类别

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值