数据挖掘学习(二):模型评价指标



概述

机器学习分为三个阶段:

第一阶段:学习模型。采用学习算法,通过对训练集进行归纳学习得到分类模型;

第二阶段:测试模型。将已经学习得到的分类模型用于测试集,对测试集中未知类别的实例进行分类。

第三阶段:性能评估。显然,通过测试集产生的分类未必是最佳的,这就导致对测试集的分类可能产生错误。而人们希望尽量得到信呢个最佳的分类模型,就是的对分类器性能评价至关重要。只有通过优秀的评价标准才能选择出性能更好的分类器。

不同机器学习算法的评价指标
在这里插入图片描述

一、分类评估

1.1 混淆矩阵

  • True Positive(真正,TP):将正类预测为正类的数目
  • True Negative(真负, TN):将负类预测为负类的数目
  • False Positive(假正,FP):将负类预测为正类的数目(Type I error)
  • False Negative(假负,FN):将正类预测为负类的数目(Type II error)

在这里插入图片描述
图如下所示:
在这里插入图片描述
里面绿色的半圆就是TP(True Positives), 红色的半圆就是FP(False Positives), 左边的灰色长方形(不包括绿色半圆),就是FN(False Negatives)。右边的浅灰色长方形(不包括红色半圆),就是TN(True Negatives)。这个绿色和红色组成的圆内代表我们分类得到模型结果认为是正值的样本。

1.2 精确率、召回率与特异性

精确率(Precision)表示被分为正例的实例中实际为里正例的比例。定义在上图可以看出,是绿色半圆除以红色绿色组成的圆。严格的数学定义如下:
P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP

召回率(Recall)表示所有实际为正例的实例被预测为正例的比例,等价于灵敏度(Sensitive)(灵敏度通常记为TPR)。定义也在图上能看出,是绿色半圆除以左边的长方形。严格的数学定义如下:
R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP

特异性(specificity)的定义图上没有直接写明,这里给出,是右边长方形去掉红色半圆部分后除以右边的长方形。严格的数学定义如下:
S = T N F P + T N S=\frac{TN}{FP+TN} S=FP+TNTN

1-特异度(false positive rate, FPR),它是实际负例中,错误得识别为正例的负例比例。严格的数学定义如下:
F P R = F P F P + T N FPR=\frac{FP}{FP+TN} FPR=FP+TNFP

有时也用一个F1值来综合评估精确率和召回率,它是精确率和召回率的调和均值。当精确率和召回率都高时,F1值也会高。严格的数学定义如下:
2 F 1 = 1 P + 1 R \frac{2}{F_1}=\frac{1}{P}+\frac{1}{R} F12=P1+R1

1.3 综合评价指标(F-Measure)

Precision和Recall有时会出现矛盾的情况,为了综合考虑他们,我们用一个参数 α \alpha α来度量两者之间的关系。如果 α \alpha α>1, 召回率有更大影响,如果 α \alpha α<1,精确率有更大影响。自然,当 α \alpha α=1的时候,精确率和召回率影响力相同。我们常用的指标就是F-Measure,F值越高证明模型越有效。

F-Measure是Precision和Recall的加权调和平均,定义如下:
F = ( α 2 + 1 ) P ∗ R α 2 ( P + R ) F=\frac{(\alpha^2+1) P*R}{\alpha^2(P+R)} F=α2(P+R)(α2+1)PR

当参数α=1时,就是我们最常见的F1。
F 1 = 2 ∗ P ∗ R P + R F_1=\frac{2*P*R}{P+R} F1=P+R2PR

1.4 ROC曲线和AUC

在二分类中,我们通常会对每个样本计算一个概率值,再根据概率值判断该样本所属的类别,那么这时就需要设定一个阈值来划定正负类。这个阈值的设定会直接影响到Precision和Recall,但是对于AUC的影响较小,因此我们通过做ROC曲线并计算AUC的值来对模型进行更加综合的评价。

1)ROC

ROC曲线的作图原理如下:以TPR(灵敏度,也就是召回率)为y轴,以FPR(1-特异度)为x轴,我们就直接得到了ROC曲线。从FPR和TPR的定义可以理解,TPR越高,FPR越小,我们的模型和算法就越高效。也就是画出来的ROC曲线越靠近左上越好。如下图所示。
在这里插入图片描述
在 ROC 空间中,每个点的横坐标是 FPR,纵坐标是 TPR,这也就描绘了分类器在 TP(真正率)和 FP(假正率)间的 trade-off。
在这里插入图片描述
ROC曲线中的四个点和一条线:

  • 点(0,1):即FPR=0, TPR=1,意味着FN=0且FP=0,将所有的样本都正确分类;
  • 点(1,0):即FPR=1,TPR=0,最差分类器,避开了所有正确答案;
  • 点(0,0):即FPR=TPR=0,FP=TP=0,分类器预测所有的样本都为负样本(negative);
  • 点(1,1):分类器实际上预测所有的样本都为正样本。

总之:ROC曲线越接近左上角,该分类器的性能越好。

2)AUC
AUC(Area Under Curve)被定义为ROC曲线下的面积,即AUC是ROC的积分,显然这个面积的数值不会大于1。随机挑选一个正样本以及一个负样本,分类器判定正样本的值高于负样本的概率就是 AUC 值。

总之:AUC值越大的分类器,正确率越高。

  • AUC = 1:绝对完美分类器,理想状态下,100%完美识别正负类,不管阈值怎么设定都能得出完美预测,绝大多数预测不存在完美分类器;
  • 0.5<AUC<1:优于随机猜测。这个分类器(模型)妥善设定阈值的话,可能有预测价值;
  • AUC=0.5:跟随机猜测一样(例:随机丢N次硬币,正反出现的概率为50%),模型没有预测价值;
  • AUC<0.5:比随机猜测还差;但只要总是反预测而行,就优于随机猜测,因此不存在AUC<0.5的状况。
    在这里插入图片描述
    ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反)。

1.5 铰链损失

铰链损失(Hinge loss)一般用来使“边缘最大化”(maximal margin),经常作为SVM的损失函数。

铰链损失最开始出现在二分类问题中,假设正样本被标记为1,负样本被标记为-1,y是真实值,w是预测值,则铰链损失定义为:

L H i n g e ( w , y ) = m a x { 1 − w y , 0 } = ∣ 1 − w y ∣ + L_{Hinge}(w,y)=max\{1-wy,0\}=|1-wy|_+ LHinge(w,y)=max{ 1

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值