混淆矩阵

简介: 不用千字,带您透析混淆矩阵。

screenshot

混淆矩阵(confusion matrix)衡量的是一个分类器分类的准确程度。理解其概念本身容易理解,但一些特定术语易被混淆。

混淆矩阵适用于包含多个分类器的问题,本文为了让读者理解更加容易,以二元分类的混淆矩阵为例进行讲解。

screenshot

观察混淆矩阵,可得如下结论:

  1. 示例是一个二元分类问题,产生两种可能的分类:“是”或者“不是”。当预测一个事件是否发生时,“是”意味着该事件已经发生,而“否”则相反,该事件没有发生。
  2. 该模型对这个事件进行了100次预测。
  3. 在这100次预测结果中,“是”有45次,“否”有55次。但实际上该事件发生了40次。

重要概念:

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

混淆矩阵延伸出的各个评价指标

1.正确率(Accuracy):被正确分类的样本比例或数量

(TP+TN)/Total = (35+50)/100 = 85%

2.错误率(Misclassification/Error Rate):被错误分类的样本比例或数量

(FP+FN)/Total = (5+10)/100 = 15%

3.真阳率(True Positive Rate):分类器预测为正例的样本占实际正例样本数量的比例,也叫敏感度(sensitivity)或召回率(recall),描述了分类器对正例类别的敏感程度。

TP/ actual yes = 35/40 = 87%

4.假阳率(False Positive Rate):分类器预测为正例的样本占实际负例样本数量的比例。

FP/actual no = 10/60 = 17%


5.特异性(Specificity):实例是负例,分类器预测结果的类别也是负例的比例。

TN/actual no = 50/60 = 83%


6. 精度(Precision):在所有判别为正例的结果中,真正正例所占的比例。

TP/predicted yes = 35/45 = 77%

7.流行程度(Prevalence):正例在样本中所占比例。

Actual Yes/Total = 40/100 = 40%

关键术语:

  1. 阳性预测值:其术语概念与精度非常类似,只是在计算阳性预测值考虑了流行程度。在流行程度为50%的时候,阳性预测值(PPV)与精度相同。
  2. 空错误率:当模型总是预测比例较高的类别,其预测错误的实例所占百分比。在上述示例中,空错误率为60/100 = 60%,因为如果分类器总是预测“是”,那么对于60个为“否”的事件则可能进行错误预测。该指标可用于分类器间的性能比较。然而,对于某些特定的应用程序来说,其最佳分类器的错误率有时会比空错误率更高。
  3. F值:F 值即为正确率和召回率的调和平均值。
  4. Roc曲线:即接收者操作特征曲线(receiver operating characteristic curve),反映了真阳性率(灵敏度)和假阳性率(1-特异度)之间的变化关系。Roc曲线越趋近于左上角,预测结果越准确。

数十款阿里云产品限时折扣中,赶紧点击领劵开始云上实践吧!

以上为译文

本文由北邮@爱可可-爱生活 老师推荐,阿里云云栖社区组织翻译。

文章原标题《Understanding the Confusion Matrix》,作者:Sunil Kappal,译者:Elaine,审校:袁虎。

文章为简译,更为详细的内容,请查看原文

相关文章
|
1月前
|
机器学习/深度学习 数据可视化
混淆矩阵与 ROC 曲线:何时使用哪个进行模型评估
混淆矩阵与 ROC 曲线:何时使用哪个进行模型评估
41 11
|
6月前
|
机器学习/深度学习
数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC(下)
数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC
|
2月前
|
机器学习/深度学习
R语言模型评估:深入理解混淆矩阵与ROC曲线
【9月更文挑战第2天】混淆矩阵和ROC曲线是评估分类模型性能的两种重要工具。混淆矩阵提供了模型在不同类别上的详细表现,而ROC曲线则通过综合考虑真正率和假正率来全面评估模型的分类能力。在R语言中,利用`caret`和`pROC`等包可以方便地实现这两种评估方法,从而帮助我们更好地理解和选择最适合当前任务的模型。
|
5月前
|
存储 算法 索引
k-近邻算法(kNN)
k-近邻算法(kNN)
47 5
|
5月前
|
机器学习/深度学习 数据可视化 C语言
多分类混淆矩阵详解
多分类混淆矩阵详解
330 0
|
6月前
|
机器学习/深度学习 数据可视化 计算机视觉
数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC(上)
数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC
|
6月前
|
机器学习/深度学习 数据可视化
深入了解多分类混淆矩阵:解读、应用与实例
深入了解多分类混淆矩阵:解读、应用与实例
深入了解多分类混淆矩阵:解读、应用与实例
|
6月前
|
机器学习/深度学习 数据采集 算法
R语言逻辑回归、GAM、LDA、KNN、PCA主成分分析分类预测房价及交叉验证|数据分享
R语言逻辑回归、GAM、LDA、KNN、PCA主成分分析分类预测房价及交叉验证|数据分享
|
6月前
|
机器学习/深度学习 数据可视化 数据挖掘
R语言用逻辑回归预测BRFSS中风数据、方差分析anova、ROC曲线AUC、可视化探索
R语言用逻辑回归预测BRFSS中风数据、方差分析anova、ROC曲线AUC、可视化探索
|
数据可视化
混淆矩阵的生成
混淆矩阵的生成