一、分类结果混淆矩阵
1、T、F、P、N辨析
- P(Positive)、N(Negative)针对的是预测值的结果。
P表示对样本的预测结果为正例,
N表示对样本的预测结果为反例。 - T(True)、F(False)针对的是预测值的结果是否预测对了。
TP表示对该样本预测结果为正例,同时预测对了,真实标签和预测标签都为正例,
FP表示对该样本预测结果为正例,但是预测错了,真实标签为反例,预测标签为正例,
TN表示对该样本预测结果为反例,同时预测对了,真是标签和预测标签都为反例,
FN表示对该样本预测结果为反例,但是预测错了,真实标签为正例,预测标签为反例。
2、举例说明
二、精准率、召回率、F1-score、PR曲线
- 准确率指的是对于所有预测结果为正例的样本中,真实标签真的是正样本的个数在其中的比例
- 召回率指的是对于所有真实标签为正例的样本中,预测结果真的是正样本的个数在其中的比例
1、准确率(Accuracy)
准确率,指的是正确预测的样本数占总预测样本数的比值,它不考虑预测的样本是正例还是负例,反映的是模型算法整体性能。
A
=
T
P
+
T
N
T
P
+
F
P
+
F
N
+
T
N
A=\frac{TP+TN}{TP+FP+FN+TN}
A=TP+FP+FN+TNTP+TN
2、精准率(Precision)
精准率,指的是正确预测的正样本数占所有预测为正样本的数量的比值,也就是说所有预测为正样本的样本中有多少是真正的正样本,它只关注正样本。
P
=
T
P
T
P
+
F
P
P=\frac{TP}{TP+FP}
P=TP+FPTP
3、召回率(Recall)
召回率,指的是正确预测的正样本数占真实正样本总数的比值,也就是指能从这些预测样本中能够正确找出多少个正样本。
R
=
T
P
T
P
+
F
N
R=\frac{TP}{TP+FN}
R=TP+FNTP
4、F1-score
F1-score,被定义为精确率和召回率的调和平均数。
F
1
=
2
∗
P
∗
R
P
+
R
F_1=\frac{2*P*R}{P+R}
F1=P+R2∗P∗R
5、P-R曲线
- 横轴是召回率,纵轴是精准率。二者的值矛盾且统一,通常精准率高时,召回率往往偏低,召回率高时,精准率往往偏低。
- 图片来源:机器学习,周志华
- 衡量模型A、B、C性能
1、A曲线完全包住C曲线、B曲线完全包住C曲线。说明A、B两个模型无论在精准率还是召回率都优于C模型,所以A、B两个模型优于C模型。
2、A、B两条曲线有交叉部分
1)计算A、B曲线与坐标轴之间围成的面积,但这个值不太好估算。
2)平衡点(Break-Even Point),精准率等于召回率时的取值。由此可得A模型优于B模型。
3)优于平衡点衡量标准过于简单,更常使用的就是F1-score。 - 精准率、召回率关系
在某些实际场景中,对精准率和召回率的重视程度不相同。
比如疾病诊断,大多数情况下真实标签中没病的很多,有病的很少。如果判断时把所有病例都判断为无病,精准率同样会很高,但召回率极低。这个时候需要重点关注召回率这个指标。
三、真正例率、假正例率、ROC曲线、AUC曲线
- P-R曲线横纵坐标分别为召回率和精准率,ROC曲线横纵坐标则不同,分别为假正例率和真正例率
- 真正例率指的是对于所有真实标签为正例的样本中,预测结果真的是正样本的个数在其中的比例
真正例率就是召回率 - 假正例率指的是对于所有真实标签为负例的样本中,预测结果真的是负样本的个数在其中的比例
1、真正例率(True Positive Rate, TPR)
- P P P为真实标签中正例的数量。 P = T P + F N P=TP+FN P=TP+FN。 T P R = T P P = T P T P + F N TPR=\frac{TP}{P}=\frac{TP}{TP+FN} TPR=PTP=TP+FNTP
2、假正例率(False Positive Rate, FPR)
- N N N为真实标签中负例的数量。 N = F P + T N N=FP+TN N=FP+TN。 F P R = F P N = F P F P + T N FPR=\frac{FP}{N}=\frac{FP}{FP+TN} FPR=NFP=FP+TNFP
3、ROC曲线(Receiver Operating Characteristic Curve)
- 横轴是假正例率,纵轴是真正例率。
- 左上角代表真正率高,假正率低。模型效果更好。
- 图片来源:https://baike.sogou.com/v472808.htm;jsessionid=2C527CDD2A1BFE2BAB595A696A676FB9
4、AUC曲线(Area Under ROC Curve)
- AUC曲线为ROC曲线下的面积大小,该值能够量化地反映基于ROC曲线衡量出的模型性能。
面积越大,说明模型越能把真正的正样本排到前面,性能就越好。
面经:P-R曲线与ROC曲线有什么关系?
- 如果正负样本分布发生变化,P-R曲线收到的波动更大,ROC曲线基本保持不变。使得ROC曲线能够尽量降低不同测试集的干扰,更客观衡量模型本身性能。
四、参考文献
[1] 《机器学习》周志华
[2] 《百面机器学习》诸葛越 、葫芦娃