相关文章推荐
玩篮球的日光灯  ·  Vuetify ...·  2 年前    · 
灰常酷的手套  ·  python 循环 continue-掘金·  2 年前    · 

TN表示:真反例,分类为负样本且本身也为负样本,分类正确。

准确率(Accuracy)

准确率(可以简写为,acc)是最常见的评价指标,即 分类器预测正确的样本占总共样本数的百分比 ,如下式所示:

在大多数的情况下,acc可以用于作为评价分类器性能好坏的指标。但是对于不平衡数据集而言,acc就无法很好的刻画分类器的性能。不平衡数据集是指,数据集中样本严重不均衡,例如,100个数据集中,其中95个为正类,5个为负类。对于这样的情况,分类器如果将所有的数据都分为正类,其acc都可以达到95%。但很明显可以看出这样的分类结果并不是好的,因此对于样本不均衡的数据集,无法使用acc作为数据分类的评价指标。

精准率(Precision)

精准率又叫查准率,其针对的是预测结果,即 真正例(TP)占被分类器分为正类的样本的百分比 ,如下式所示:

Precision 看起来和 acc 是差不多的,但是 acc 针对的是所有的样本,即包含了正样本和负样本;而Precision只是 针对的正样本 ,刻画的是正样本的分类结果,而不涉及负样本的信息。Precision越高表示分类器对于正类分类效果越好,即分类器越容易选出的正确的正样本。

召回率(Recall)

召回率又叫查全率,其针对的是实际样本,即 真正例(TP)占真实标签为正的样本的百分比 ,如下式所示:

Recall是从真实样本出发,其值越高表示 对于真实数据集而言 ,分类器越容易将所有的正样本都挑选出来。

可以发现Precision和Recall只有分母不一样,这两个评价指标都是基于TP来定义的,但两者之间通常是 相互矛盾 的。往往在Recall越高的时候,其Precision都会越来越低。因为若是想要挑选出所有的正样本(即Recall逼近1),最简单的方法是将所有的样本都分为正类,这样Recall值可以达到1,很明显,此时的Precision值会非常低。同样的,若果想让Precision逼近1,则只选择最有把握的样本作为正类就可以了,但是此时Recall值会非常低。

P-R(Precision-Recall)曲线

Precision-Recall 曲线(P-R曲线)是查全率和查准率的曲线。首先我们将分类器的预测结果按照概率进行排序,排在前面的认为是最可能为正类的样本,排在后面的认为是最不可能为正类的样本。然后按照顺序逐个对正样本进行预测并计算出Precision和Recall的值。再以Precision为纵轴,Recall为横轴作图,就可以得到P-R曲线。

由于P-R曲线可以很好的表示出分类器在总体样本的查全率和查准率。因此,若是有一个分类器的P-R曲线完 全包裹住 另外一个分类器的曲线,则可以说明该分类器的性能优于后者。若是两个分类器的曲线有交点,则无法很明确的说明哪个分类器的性能更好。因此提出使用 平衡点 (Break-Even Point,BEP)来度量两个分类器的性能,即当查准率等于查全率时P-R曲线的取值。但是只是使用BEP度量其实过于片面。

F1 分数(F1 Score)

F1分数是同时考虑了查全率和查准率,并使两个去一个平衡,让两者同时达到最高的指标,如下式所示:

F1分数相比BEP而言,可以更好的度量 Precision 和 Recall 之间的关系,对分类器的性能做出更好的判断,常常被用于度量分类器的性能。

F1分数的一般形式 F_{\beta}

\beta 度量了查全率和查准率的相对重要性。当 \beta=1 时为标准的 F1 分数;当 \beta>1 时查全率有更大的影响,例如罪犯检索系统;当 \beta<1 时查准率有更大的影响,例如内容推荐。