【机器学习】混淆矩阵的原理(理论+图解)

简介: 【机器学习】混淆矩阵的原理(理论+图解)

简 介:下面是我在学习时候的记录并加上自己的理解。本文意在记录自己近期学习过程中的所学所得,如有错误,欢迎大家指正。

 

关键词:Python、机器学习

1.什么是混淆矩阵

 在机器学习中,我们经常遇到分类的问题,比如银行预测违规用户,那么就会有两个分类,分别是正常用户和违规用户,可以用数学表示就是-1,1,-1代表负类,1代表正类。那么什么是正类和负类呢?正类就是在我们业务需求中我们我们要的、注重的分类,对于银行用户来说,正常用户就是正类,非正常就是负类,但这也不是绝对的,正类和负类就是一个对立的概念,不一定就是说谁是正类、谁是负类,看我们的实际需求。

 那么说回来,我们的预测模型不是完全精确的,肯定是会有预测失误的时候,比如将正类预测为负类,负类预测为正类,举个例子,有10个人,其中有4个好人和6个坏人,我们的模型对这10个人的判定结果为4个好人中,有3个被正确识别为好人,但是有1个被误判为坏人,对应6个坏人,模型判定4个为坏人,将另外两个误认为好人,这是模型就会有误差,10个人中,有3个识别错误,另外7个是正确的。由于这是典型的二分类问题,我们就很容易的采用矩阵的方式进行描述,这也就引出了混淆矩阵。

从上面的矩阵中很容易看出:

4个好人有3个被预测为好人,有1个别误认为坏人

6个坏人中有2个被预测为好人,有4个被正确认为是坏人

2.相关名词解释

 从上面的图中我们可以清晰地看出每个数据被预测的所属类别,那么我们如何评估模型的好坏呢?这是就引入了几个数学名词:

  1. 真正性(True Positive,TP):样本的真实类别是正例,并且模型预测的结果也是正例
  2. 真负性(True Negative,TN):样本的真实类别是负例,并且模型将其预测成为负例
  3. 假正性(False Positive,FP):样本的真实类别是负例,但是模型将其预测成为正例
  4. 假负性(False Negative,FN):样本的真实类别是正例,但是模型将其预测成为负例

上面的3就是真正性,1就是假负性,2就是假正性,4就是真负性

从字面很好理解,第一个字真假就是代表这个类别的预测结果是否正确,第二个字正负就代表最终预测为正类还是负类

通常情况下,我们评估模型好坏的指标就是模型的准确率怎么样,也就是(TP+TN)/ ALL,但是这样有时侯不一定真正代表模型的效果就很好,你比如说现在我们有100个人,其中好人有99个,坏人只有1个,此时如果模型不做任何事,只需要把任何人都辨识为好人,我们的模型的准确率就有99%,但是这样显然不科学,因为这样的模型没有把坏人认出来,因为在显示生活我们很多时候注重的是模型对负类的识别,宁错杀100也不放过任何1个怀疑的对象,所以这种情况下准确率这种评估指标显然是不行的,我们需要的指标是识别坏人的准确性的指标。

下面的指标仍然针对上述表进行计算:

  • 准确率(accuracy):(TP+TN)/ ALL =(3+4)/ 10 准确率是所有预测为正确的样本除以总样本数,用以衡量模型对正负样本的识别能力。
  • 错误率(error rate):(FP+FN)/ ALL =(1+2)/ 10 错误率就是识别错误的样本除以总样本数。
  • 假正率(fpr):FP / (FP+TN) = 2 / (2+4)假正率就是真实负类中被预测为正类的样本数除以所有真实负类样本数。
  • 真正率(tpr):TP / (TP+FN)= 3 / (3+1)真正率就是真实正类中被预测为正类的样本数除以所有真实正类样本数。
  • 精度(precision):TP / (TP+FP)= 3 / (3+2)精确度是真实分类被预测为正类的样本数除以所有被预测为正样本的个数
  • 召回率(recall):TP / (TP+FN)= 3 / (3+1)召回率和灵敏度、假正率是一回事,就是不同的称呼名称
  • 灵敏度(sensitive):TP / (TP+FN)= 3 / (3+1)灵敏度是预测为正类的样本数除以所有真实正类样本数,用于衡量模型对正类样本的识别能力。
  • 特效度(specificity):TN / (TN+FP) = 4 / (2+4)特效度是预测为负类的样本数除以所有真实负类样本数,用于衡量模型对负类样本的识别能力。

根据我们不同的业务需求,我们需要使用不同的评估指标进行衡量模型的效果,不一定是准确率越高,模型的效果越好,要根据实际需求,综合多个模型评估指标。


目录
相关文章
|
24天前
|
机器学习/深度学习 存储 运维
分布式机器学习系统:设计原理、优化策略与实践经验
本文详细探讨了分布式机器学习系统的发展现状与挑战,重点分析了数据并行、模型并行等核心训练范式,以及参数服务器、优化器等关键组件的设计与实现。文章还深入讨论了混合精度训练、梯度累积、ZeRO优化器等高级特性,旨在提供一套全面的技术解决方案,以应对超大规模模型训练中的计算、存储及通信挑战。
57 4
|
1月前
|
机器学习/深度学习 Python
机器学习中评估模型性能的重要工具——混淆矩阵和ROC曲线。混淆矩阵通过真正例、假正例等指标展示模型预测情况
本文介绍了机器学习中评估模型性能的重要工具——混淆矩阵和ROC曲线。混淆矩阵通过真正例、假正例等指标展示模型预测情况,而ROC曲线则通过假正率和真正率评估二分类模型性能。文章还提供了Python中的具体实现示例,展示了如何计算和使用这两种工具来评估模型。
55 8
|
1月前
|
机器学习/深度学习 自然语言处理 语音技术
探索机器学习中的深度学习模型:原理与应用
探索机器学习中的深度学习模型:原理与应用
43 0
|
2月前
|
机器学习/深度学习 算法 知识图谱
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
|
2月前
|
机器学习/深度学习 算法
机器学习入门(三):K近邻算法原理 | KNN算法原理
机器学习入门(三):K近邻算法原理 | KNN算法原理
|
2月前
|
机器学习/深度学习 API
机器学习入门(七):线性回归原理,损失函数和正规方程
机器学习入门(七):线性回归原理,损失函数和正规方程
|
2月前
|
机器学习/深度学习 程序员
【机器学习】朴素贝叶斯原理------迅速了解常见概率的计算
【机器学习】朴素贝叶斯原理------迅速了解常见概率的计算
|
2月前
|
机器学习/深度学习 算法
【机器学习】逻辑回归介绍(逻辑回归应用场景,原理,损失及优化详解!!!)
【机器学习】逻辑回归介绍(逻辑回归应用场景,原理,损失及优化详解!!!)
|
4月前
|
机器学习/深度学习 算法 搜索推荐
【机器学习】机器学习的基本概念、算法的工作原理、实际应用案例
机器学习是人工智能的一个分支,它使计算机能够在没有明确编程的情况下从数据中学习并改进其性能。机器学习的目标是让计算机自动学习模式和规律,从而能够对未知数据做出预测或决策。
151 2
|
4月前
|
机器学习/深度学习 人工智能 关系型数据库
【机器学习】Qwen2大模型原理、训练及推理部署实战
【机器学习】Qwen2大模型原理、训练及推理部署实战
781 0
【机器学习】Qwen2大模型原理、训练及推理部署实战