# Accuracy 精度

Accuracy(f;D)=1ni=1n[f(xi)=labeli]Accuracy(f;\mathcal{D}) = \frac{1}{n} \sum_{i=1}^n[f(\boldsymbol{x}_{i}) = label_i]

也就是说准确率就是和标签的匹配程度。

# Precision 精确度

Precision=TPTP+FPPrecision = \frac{TP}{TP +FP}

image-20220104140920128

就是预测为正例中的结果有多少真实的正例,比如预测出垃圾邮件中有多少是真的垃圾邮件。

# Recall 召回率

Recall=TPTP+FNRecall = \frac{TP}{TP+FN}

召回率就是说有多少正例被成功预测出来了。比如有多少垃圾邮件被成功预测出来了。

如果要提高召回率,那么就要尽量降低预测的门槛,也就是说原来 0.7 被预测为真,现在我 0.6 被预测为真,自然可以筛选出更多的正例,但是这样就降低了精确率了,因为 0.6 就会被预测为真,自然会出现一些负例被预测为正例。

# F1 分数

正负样本不均衡,accuracy 这个指标就没啥用,就像之前做的那个机器人账号预测一样。全部预测为机器人后,accuracy 数达到了 0.999,这显然没意义。

因为 precision 和 Recall 这两个指标会出现矛盾,所以考虑他们最常见的方法就是 F1 分数。

F1=2PrecisionRecallPrecision+RecallF 1=2 \frac{\text { Precision } * \text { Recall }}{\text { Precision }+\text { Recall }}

F1 数越大,一般代表模型的效果越好。

# MCC

MCC=TP×TNFP×FN(TP+FP)(TP+FN)(TN+FP)(TN+FN)\mathrm{MCC}=\frac{T P \times T N-F P \times F N}{\sqrt{(T P+F P)(T P+F N)(T N+F P)(T N+F N)}}

MCC 本质上是一个描述实际分类与预测分类之间的相关系数,它的取值范围为 [-1,1],取值为 1 时表示对受试对象的完美预测,取值为 0 时表示预测的结果还不如随机预测的结果,-1 是指预测分类和实际分类完全不一致。

更新于

请我喝[茶]~( ̄▽ ̄)~*

Kalice 微信支付

微信支付

Kalice 支付宝

支付宝