1. 混淆矩阵(Confusion Matrix)
Positive (1) | Negative (0) | |
---|---|---|
Positive (1) | TP (1, 1) | FP (1, 0) |
Negative (0) | FN (0, 1) | TN (0, 0) |
列为模型预测值,行为样本实际值。
- TP(True Positive):实际为1,且判断正确
- FN(False Negative):实际为1,但判断为0
- FP(False Postive):实际为0,但判断为1
- TN(True Negative):实际为0,且判断正确
2. 准确率、精确率、灵敏度/召回率、特异性、F1-score
-
准确率(Accuracy):衡量所有样本中被分类准确的比例
A c c u r a c y = T P + T N a l l Accuracy = \frac {TP +TN}{all} Accuracy=allTP+TN -
精确率(Precision):也叫查准率,在模型预测为1(有判对的,也有错判的)的结果中,判断对的比例。就是再被判为1的里面,有多少货真价实。
P r e c i s i o n = T P T P + F P Precision = \frac {TP}{TP + FP} Precision=TP+FPTP -
灵敏度(Sensitivity) /召回率(recall):在实际为1的结果中,模型判断对的比例。有多少1真的被判为1。
S e n s i t i v i t y = r e c a l l = T P T P + F N Sensitivity = recall = \frac {TP}{TP + FN} Sensitivity=recall=TP+FNTP -
特异性(Specificity):在实际为0的结果中,模型判为0的比例。
S p e c i f i c i t y = T N T N + F P Specificity = \frac {TN}{TN + FP} Specificity=TN+FPTN -
F1-Score指标综合了Precision与Sensitivity的产出的结果。范围从0到1的,1代表模型的输出最好,0代表模型的输出结果最差。
F 1 − s c o r e = 2 P P + S F1-score = \frac {2P}{P + S} F1−score=P+S2P
3. ROC和AUC
- ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣。横坐标是FPR(False Positive Rate),纵坐标是TPR(True Positive Rate)。
F
P
R
=
F
P
F
P
+
T
N
,
T
P
R
=
S
e
n
s
i
t
i
v
i
t
y
=
r
e
c
a
l
l
=
T
P
T
P
+
F
N
FPR = \frac {FP}{FP + TN},TPR = Sensitivity = recall = \frac {TP}{TP + FN}
FPR=FP+TNFP,TPR=Sensitivity=recall=TP+FNTP
ROC曲线越接近左上角,该分类器的性能越好。
- AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。
==既然有了2中那么多评价标准,为什么还要使用ROC和AUC呢?==因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。实际数据集(训练集、测试集)经常出现正负样本比例不平衡,也叫类不平衡(class imbalance),2中的指标可能变化很大,而ROC比较稳定,可以进行更好的度量。
参考链接:https://blog.csdn.net/zuolixiangfisher/article/details/81328297
https://www.jianshu.com/p/c61ae11cc5f6