机器学习分类性能指标:准确率Accuracy/精确率Precision/召回率Recall/F1值

1. 准确率Accuracy

准确率的定义:对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。
举例:有100封邮件,有85封邮件预测正确,那么准确率即为:85/100=85%。
注:85封邮件预测正确,这个“预测正确”有2种情况:
①是垃圾邮件,预测结果也是垃圾邮件——预测正确。
②是正常邮件(不是垃圾邮件),预测结果也是正常邮件——预测正确。

2. 精确率Precision/召回率Recall/F1值

预测问题会有下列4种情况:
TP——将正类预测为正类的数量
FN——将正类预测为负类的数量
FP——将负类预测为正类的数量
TN——将负类预测为负类的数量。

通常,以关注的类作为“正类”,其他类为负类。在垃圾邮件检测中,“垃圾邮件”是正类,则“正常邮件”是负类。则TP/FN/FP/TN的理解如下:

TP——是垃圾邮件(正类),预测结果是垃圾邮件(预测为正类)
FN——是垃圾邮件(正类),预测结果是正常邮件(预测为负类)
FP——是正常邮件(负类),预测结果是垃圾邮件(预测为正类)
TN——是正常邮件(负类),预测结果是正常邮件(预测为负类)

2.1. 精确率(Precision)

精确率(Precision)的定义如下:

P = T P T P + F P P = \frac{TP}{TP+FP} P=TP+FPTP

理解:
①TP——是垃圾邮件(正类),预测结果是垃圾邮件(预测为正类)
②FP——是正常邮件(负类),预测结果是垃圾邮件(预测为正类)
③TP+FP——可能是垃圾邮件/也可能是正常邮件,但预测结果都是垃圾邮件。
则精确率(P)的含义就是:你预测结果是垃圾邮件的这些邮件中(TP+FP),有多少个是真正的垃圾邮件(TP)?

2.2. 召回率(Recall)

召回率(Recall)的定义如下:

R = T P T P + F N R = \frac{TP}{TP+FN} R=TP+FNTP

理解:
①TP——是垃圾邮件(正类),预测结果是垃圾邮件(预测为正类)
②FN——是垃圾邮件(正类),预测结果是正常邮件(预测为负类)
③TP+FN——是垃圾邮件,但预测结果可能是垃圾邮件也可能是正常邮件。

则召回率(R)的含义就是:有这么多的垃圾邮件(TP+FN),有多少是你预测对的(TP)?

2.3. F1值(F1 score)

F1值(F1 score)的定义如下:

2 F 1 = 1 P + 1 R \frac{2}{F_1} = \frac{1}{P} + \frac{1}{R} F12=P1+R1

F1score的作用是对精确率和召回率进行调和。

猜你喜欢

转载自blog.csdn.net/m0_38068876/article/details/113488631