根据 “没有免费午餐定律” ,在所有机器学习算法中,并不存在最厉害的算法。没有最好的模型,只有最合适的模型。机器学习算法虽然只有几种,但需要解决的问题千千万万,哪种模型适合你所需要解决的问题,还需要具体的问题具体分析。性能衡量指标就是一种常用的分析标准。
在分类问题中,将机器学习模型的预测与实际情况进行对比后,结果可以分为四种:TP、TN、FN 和 FP。
每一种结果由两个字母组成,第一个字母为T或F,是True和False的首字母缩写,表示预测结果是否符合事实,模型猜的对不对;第二个字母为P或N,是Positive和Negative的首字母缩写,表示的是预测的结果。
具体来说,也就是:
全称 | 预测结果 | 与事实是否相符 | 事实 | |
---|---|---|---|---|
TP | True Positive | 正类 | 相符 | 正类 |
TN | True Negative | 负类 | 相符 | 负类 |
FP | False Positive | 正类 | 不相符 | 负类 |
FN | False Negative | 负类 | 不相符 | 正类 |
Accuracy 准确率
A
c
c
u
r
a
c
y
=
T
P
+
T
N
T
P
+
F
N
+
F
P
+
T
N
Accuracy = \frac {TP + TN}{TP+FN+FP+TN}
Accuracy=TP+FN+FP+TNTP+TN
分母表示所有结果;
分子是TP+TN
,TP表示模型猜对了,TN也表示模型猜对了,两个加起来就是全部猜对了的结果。
因此准确率的含义就是模型猜对了的结果在全部结果中的占比,猜对的越多,得分就越高。
Precision 精确率
P r e c i s i o n = T P T P + F P Precision = \frac {TP}{TP+FP} Precision=TP+FPTP
表达式上的区别就很明显了,光是在长度上就短了很多。
- 此表达式的分母是
TP+FP
:TP表示预测结果为正类,FP也表示预测结果为正类,二者相加就是全部预测为正类的结果。 - 分子是
TP
,代表预测为正类,且与事实相符的结果。
说起来很拗口,但只要联合起 来看,分母说的是所有预测为正类的结果,分子说的是正类结果中猜对了的那部分,它 在全部的正类结果中的占比就是查准率。换句话说,模型预测对正类结果的预测越准确,查准率就越高。
Recall 召回率
召回率(Recall),又叫查全率,是查准率的“表兄弟”要求“不可滥杀无”时,看查准率;要求“宁可杀错一千也不放过一个”时,看查全率。
R
e
c
a
l
l
=
T
P
T
P
+
F
N
Recall = \frac {TP}{TP+FN}
Recall=TP+FNTP
这俩表兄弟经常联合起来使用,因为分子都是TP,但查全率的分母是TP+FN,换了右半边,意思也不一样了。TP表示事实为正类,FN也表示事实为正类,两者相加表示全部事实是正类的结果。整个表达式的意思是,在全部正类中,看看模型能正确找出来多少,找出来的越多,查全率就越高。