分类器性能指标错误率、正确率、召回率

前言

在使用机器学习的方法解决分类问题时,我们通常需要一个指标来衡量模型的性能,以下介绍一些常用的性能指标,在实际应用中可以依照应用需求采用相应的指标。

错误率

错误率是使用最普遍、最简单同时又是最粗糙的分类指标。其计算方法为:
设测试样本集T={(X1,Y1),···,(Xn,Yn)},其中Xi为该样本i的输入特征,Yi为样本的真实标签。
T的预测结果:PY={PY1,PY2,···,PYn},其中PYi表示模型对T中第i个样本的预测结果。

则错误率

这里写图片描述

其实就是所有判断错误的样本数占所有样本数的比例。

错误率十分简单也特别好计算,但是它太简单了,以至于无法显示出样本具体是如何被分错。我们看下面的混淆矩阵就可以一下子知道错误率的局限性。

混淆矩阵

假设有一个图片三分类的问题的分类结果整理如下:
分类器性能指标错误率、正确率、召回率_第1张图片

对角线上的那些元素表示分类正确的情况,而其中格子表示分类错误的情况。

通过这个表,我们可以很容易的计算出错误率:所有非对角元的元素求和除以整个矩阵的和即可。如果所有非对角元的元素都为0,那我们的模型的就特别完美了!因为没有任何样本被分类错误。

除了简单的错误率外,这个表还能告诉我们我们一些样本是如何被分类错误的信息。例如:有4+9=13条真实结果是狗却被分类成猫和猪的错误分类样例。13/(13+24)约为1/3,说明模型对狗的分类能力并不是很强,有1/3的概率把狗误认为其它动物。

二分类混淆矩阵

上面举例的混淆矩阵一个三分类的混淆矩阵,实际上 混淆矩阵可以用于任何一种分类问题。特别地,当问题是一个二分类时(在回答诸如 不是的问题),混淆矩阵有一些特别的表示方法。

分类器性能指标错误率、正确率、召回率_第2张图片

真·正例:True positive ,真正的正例,那些预测为”是”真实结果也的确为 “是” 的样例

伪·反例:False Negative,假的反例,那些预测为“否”真实结果为“是” 的样例.这种样例本来就是真的,却被预测为假。

伪·正例:False Positive,假正例,那些预测为“真”真实结果为“否” 的样例。本来是假的,却被预测为真。

真·反例:True Negative,真的反例,那些预测为“否”真实结果为“否” 的样例。真实是假,预测也为假。

这四个有点拗口,但是我们可以发现 ,这四个描述词的主体都是后两个字,而且主体描述的都是预测结果。。例如 伪反例,主体为“反例”,修饰词为“伪”,主体“反例”是指 预测结果为反例,”伪”表示这个预测是的。

正确率、准确率Precision rate 和召回率Recall rate其实都是针对 二分类混淆矩阵的。
其中
分类器性能指标错误率、正确率、召回率_第3张图片

由公式,正确率反映了那些预测为“是”的样例中实际为“是”的比率。召回率 反映了 所有真实的“是”被预测正确的比率。
构造一个高正确率或高召回率的分类器是相对较简单的,但是一般两者都要很高就比较难构造了。而且单方面的让其中一个高是存在很大的局限性,比如下面两个情况:
高正确率:
分类器性能指标错误率、正确率、召回率_第4张图片
正确率是100%,表示那些预测为“是”的两个样本都是真实的“是”样例,但是这个分类器性能却很低,因为:102个真实为“是”的样例有100被错误预测为“否”。其错误率其实为:100/102 ,基本没啥实际用处。

高召回率:
分类器性能指标错误率、正确率、召回率_第5张图片
召回率为100%,也就是说,那些真实为“是”的样例都被预测为“是”了。但是,这个分类器性能还是不高,其错误率为100/(100+200)=1/3。为了追求高召回率,分类器只要对任意输入都无脑输出“是”即可,然而这种分类器的性能是不可能高的。

高召回率、高正确率:
分类器性能指标错误率、正确率、召回率_第6张图片
高召回率、高正确率的分类结果的混淆矩阵的非对角元元素很小。

你可能感兴趣的:(机器学习-理论,杂篇,杂乱无章)