本文我会用最通俗的语言帮助大家快速理解并记住准确率、精确率、召回率、F1score,AUC、ROC以及特异度。
这些指标其实乍一看能知道都是什么,但是一用起来记不住定义
1.第一步 认识混淆矩阵
借用一下别人的图,这俩图说的是一个内容,大家稍微消化一下,右图中的reference是参考的意思,可以理解为实际值。
我们看一下定义
- 真正类(True Positives, TP):模型正确预测为正类的正类样本数。
- 假正类(False Positives, FP):模型错误预测为正类的负类样本数。
- 真负类(True Negatives, TN):模型正确预测为负类的负类样本数。
- 假负类(False Negatives, FN):模型错误预测为负类的正类样本数。
这里的positive negative可以对应医院检查的阳性/阴性去理解,假负类就是本来人家是正类,你给人家预测成负类了,所以这个是负类不是真的,是假的,所以叫假负类,就比如你要检测别人是否患病,正类就是患病了,但是实际上人家患病了,预测成没患病,这个就是假的没患病,没给人家检测出来,是大问题。
2.准确率(Accuracy)
准确率是分类正确的样本数占总样本数的比例。它是最直观的性能指标。计算公式为:
像正的被预测成正的,负的被预测成负的,这就叫预测正确,分类正确,所以准确率就是这样,当然也可以写的正式一点
3.召回率(Recall)
做机器学习的,肯定听过召回率,但是光听这个名字,别人谁能知道这是啥意思,所以要介绍它的另一个名字 <查全率>
查找全面性的比率,强调的是模型识别目标类别的完整性。也就是说,它衡量的是在所有真实正类样本中,有多少被模型正确地识别出来了。
英文是recall,我也不懂外国人怎么理解这个recall,如果直译,我是真的猜不透,除非看定义,看了也忘。所以用查全率去记忆,我举例子说:
1. 金融欺诈检测
在金融行业,检测欺诈行为是非常关键的任务。假设有一个模型用来识别信用卡交易中的欺诈行为。
- 数据集:假设有1000次信用卡交易,其中有50次是欺诈交易。
- 模型预测:模型成功识别出了45次欺诈交易,但漏掉了5次。
- 查全率:查全率为