机器学习——模型效果衡量标准

一、分类器的评估方法

1、混淆矩阵

混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,用n行n列的矩阵形式来表示。

它的每一列代表了预测类别 ,每一列的总数表示预测为该类别的数据的数目;每一行代表了数据的真实归属类别,每一行的数据总数表示该类别的数据实例的数目。

举个例子:

表1
                                                                                    预测
1类2类3类4类
1类8011
2类11621
3类31224
4类34330

在表格中,1~4代表了四种类别,假设有100个样本,其中1类10个、2类20个、3类30个、4类40个。

现在将1类中的10个样本通过一个分类器,最后得到结果,1类8个,2类0个,3类和4类各1个。

其他几类如列表所示。

可以从列表中观察到,在矩阵对角线上的是分类正确的数据,而在其他位置的则是分类错误的数据,比如第四行,它将40个属于类4的数据输入分类器,其中错误判断成1类的有3个,错判成2类的有4个,错判成3类的有3个,另外30个分类正确。

整个混淆矩阵的可视化效果很好。

在混淆矩阵中,有四个概念:false positives,falsenegatives,true positives和true negatives

以表1中的1类为例

TP(True Positive): 真实为1类,预测也为1类

FN(False Negative): 真实不为1类,预测为1类

FP(False Positive): 真实为1类,预测不为1类

TN(True Negative): 真实不为1类,预测也不为1类

通过这个可以将数据变为两行两列:

表2
 1类其他类
1类TP 8FP 2
其他类FN 7TN 83

 

2、准确率和召回率

查准率 = 精度 = precision  查全率 = 召回率 = recall,看上去可能有些难以理解,不过如果结合混淆矩阵,可以较为直观的理解其中的含义:
Precision = \frac{TP}{TP+FP}

Recall = \frac{TP}{TP+FN}

还是以1类为例,它的准确率是0.8,召回率为0.5333.

两者取值在0和1之间,数值越接近1,查准率或查全率就越高。

在这个数据集中不是很能说明查准率和召回率的重要性,如果换一个极端的数据再来看:

 1类其他类
1类TP 0FP 10
其他类FN 0TN 90

100个样本中,有1类10个,其他类90个,而分类器则是将所有的样本都划分到了其他类,这时如果只算准确率,准确率高达0.9,但很明显,这个分类器是不对的,而通过计算recall和precision,可以很明显发现这一点。

3、F值(F-Measure)

我们希望Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。

比如另一个极端情况下,我们只搜索出了一个结果,且是准确的,那么Precision就是100%,但是Recall就很低;而如果我们把所有结果都返回,那么比如Recall是100%,但是Precision就会很低。

所以,我们引入了综合评价指标F值(F-Measure)。

F-Measure是Precision和Recall加权调和平均

F=\frac{\left ( a^{2} +1\right )Precision*Recall}{a^2(Precision+Recall)}

a是参数,当a=1是,即为最常见F1.

4、ROC和AUC

受试者工作特征曲线 (receiver operating characteristic curve,简称ROC曲线),又称为感受性曲线(sensitivity curve)。

具体概念上的就不多赘述了,它的绘制还是基于之前混淆矩阵中的那四个值。

ROC关注两个指标:

True Positive Rate ( TPR ) =\frac{TP}{TP+FN}

正例分对的概率

False Positive Rate( FPR )= \frac{FP}{FP+TN}

负例分成正例的概率

在ROC 空间中,每个点的横坐标是FPR,纵坐标是TPR。

在一个二分类模型中,假设采用逻辑回归分类器,其给出针对每个实例为正类的概率,那么通过设定一个阈值如0.5,概率大于等于0.5的为正类,小于0.5的为负类。对应的就可以算出一组(FPR,TPR),在平面中得到对应坐标点。

根据不同的阈值进行分类,根据分类结果计算得到ROC空间中相应的点,连接这些点就形成ROC curve。

AUC

AUC (Area Under Curve) 被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围一般在0.5和1之间。

AUC更大的分类器效果更好

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值