# Accuracy 精度
Accuracy(f;D)=n1i=1∑n[f(xi)=labeli]
也就是说准确率就是和标签的匹配程度。
# Precision 精确度
Precision=TP+FPTP
就是预测为正例中的结果有多少真实的正例,比如预测出垃圾邮件中有多少是真的垃圾邮件。
# Recall 召回率
Recall=TP+FNTP
召回率就是说有多少正例被成功预测出来了。比如有多少垃圾邮件被成功预测出来了。
如果要提高召回率,那么就要尽量降低预测的门槛,也就是说原来 0.7 被预测为真,现在我 0.6 被预测为真,自然可以筛选出更多的正例,但是这样就降低了精确率了,因为 0.6 就会被预测为真,自然会出现一些负例被预测为正例。
# F1 分数
正负样本不均衡,accuracy 这个指标就没啥用,就像之前做的那个机器人账号预测一样。全部预测为机器人后,accuracy 数达到了 0.999,这显然没意义。
因为 precision 和 Recall 这两个指标会出现矛盾,所以考虑他们最常见的方法就是 F1 分数。
F1=2 Precision + Recall Precision ∗ Recall
F1 数越大,一般代表模型的效果越好。
# MCC
MCC=(TP+FP)(TP+FN)(TN+FP)(TN+FN)TP×TN−FP×FN
MCC 本质上是一个描述实际分类与预测分类之间的相关系数,它的取值范围为 [-1,1],取值为 1 时表示对受试对象的完美预测,取值为 0 时表示预测的结果还不如随机预测的结果,-1 是指预测分类和实际分类完全不一致。