算法常用评价指标

评价指标是针对将相同的数据,输入不同的算法模型,或者输入不同参数的同一种算法模型,而给出这个算法或者参数好坏的定量指标。

在模型评估过程中,往往需要使用多种不同的指标进行评估,在诸多的评价指标中,大部分指标只能片面的反应模型的一部分性能,如果不能合理的运用评估指标,不仅不能发现模型本身的问题,而且会得出错误的结论。

1、名词解释

真正例(True Positive,TP):预测为真,实际为真

真负例(True Negative,TN):预测为假,实际为假

假正例(False Positive,FP):预测为真,实际为假

假负例(False Negative,FN):预测为假,实际为真

2、准确率Accuracy

定义:预测正确的结果占总样本的百分比;

公式:算法常用评价指标

准确率是分类问题中最为原始的评价指标,但是,准确率评价算法有一个明显的弊端问题,就是在数据的类别不均衡,特别是有极偏的数据存在的情况下,准确率这个评价指标是不能客观评价算法的优劣的。

例如下面这个例子:

在测试集里,有100个sample,99个反例,只有1个正例。如果我的模型不分青红皂白对任意一个sample都预测是反例,那么我的模型的准确率就为0.99,从数值上看是非常不错的,但事实上,这样的算法没有任何的预测能力,于是我们就应该考虑是不是评价指标出了问题,这时就需要使用其他的评价指标综合评判了。

3、精确率Precision

定义:又叫查准率,它是针对预测结果而言的,它的含义是在所有被预测为正的样本中实际为正的样本的概率,意思就是在预测为正样本的结果中,我们有多少把握可以预测正确。

公式:算法常用评价指标

精准率和准确率看上去有些类似,但是完全不同的两个概念。精准率代表对正样本结果中的预测准确程度,而准确率则代表整体的预测准确程度,既包括正样本,也包括负样本。

4、召回率Recall

定义:又叫查全率,它是针对原样本而言的,它的含义是在实际为正的样本中被预测为正样本的概率

公式:算法常用评价指标

在不同的应用场景下,我们的关注点不同,例如,在预测股票的时候,我们更关心精准率,即我们预测升的那些股票里,真的升了有多少,因为那些我们预测升的股票都是我们投钱的。而在预测病患的场景下,我们更关注召回率,即真的患病的那些人里我们预测错了情况应该越少越好。

精确率和召回率是一对此消彼长的度量。例如在推荐系统中,我们想让推送的内容尽可能用户全都感兴趣,那只能推送我们把握高的内容,这样就漏掉了一些用户感兴趣的内容,召回率就低了;如果想让用户感兴趣的内容都被推送,那只有将所有内容都推送上,宁可错杀一千,不可放过一个,这样准确率就很低了。

在实际工程中,我们往往需要结合两个指标的结果,去寻找一个平衡点,使综合性能最大化。
算法常用评价指标
算法常用评价指标