机器学习(ML),自然语言处理(NLP),信息检索(IR)等领域,评估(Evaluation)是一个必要的 工作,而其评价指标往往有如下几点:准确率(Accuracy),精确率(Precision),召回率(Recall)和F1-Measure。
准确率: 预测结果正确数量占所有预测结果数量的百分比,比如:通过身高、体脂率、发质来判断1000名普通人的性别,预测结果总数为total_number=1000,预测正确数量为true_forecast,则
准确率 = true_forecast / total_number
在介绍精确率、召回率、F1-Measure之前,我们先看下表:(正类是女生或者正类是男生,其实并不关键哈,这里就这么滴蜡)
相关(Relevant),正类(此处正类为判定为女生) | 无关(NonRelevant),负类(此处负类被判定为男生) | |
被检索到(Retrieved) | true positives(TP 正类判定为正类,例子中就是正确的判定"这位是女生") | false positives(FP 负类判定为正类,"存伪",例子中就是分明是男生却判断为女生) |
未被检索到(Not Retrieved) | false negatives(FN 正类判定为负类,"去真",例子中就是,分明是女生,这哥们却判断为男生) | true negatives(TN 负类判定为负类,也就是一个男生被判断为男生) |
由此我们来介绍三者:
精确率 = TP / (TP + FP)
在例子中表现为,预测结果为女生的人群中,真正是女生的人数占被预测为女生人群数量的百分比。
召回率 = TP / (TP + FN)
在例子中表现为,被预测为女生且正确的人数占所有女生人数的百分比。
F1-Measure就是精确率和召回率的调和平均值。
F1=2rp / (r+p),其中r为recall——召回率,p为precision——精确率。