• 2. 数据不平衡的分类器评价指标


    1. 数据不平衡的数据处理

    2. 数据不平衡的分类器评价指标

    1. 分类器评价指标

    1.1 混淆矩阵

    在数据不平衡的分类任务中,我们不在使用准确率当作模型性能度量的指标,而是使用混淆矩阵、精准率、召回率、F1值当作模型的性能度量指标
    image

    • TP(True Positive):真实是正例,预测也为正例的情况(预测对的部分)
    • FP(False Positive):真实是反例,预测为正例的情况(预测错的部分)
    • FN(False Negative):真实是正例,预测为反例的情况(预测错的部分)
    • TN(True Negative):真实是反例,预测也为反例的情况(预测对的部分)

    精准率P

    [P=frac{TP}{TP+FP} ]

    召回率R

    [R=frac{TP}{TP+FN} ]

    F1值

    F1值是精准率和召回率的调和平均值。两个数值的调和平均更加接近两个数当中较小的那个,因此如果要使得F1很高的话那么精准率和召回率都必须很高。

    [F1=frac{2*P*R}{P+R} ]

    F值的一般情况

    [F_{eta}=frac{(1+eta^2)*P*R}{eta^2*P+R} ]

    PR曲线

    精准率和召回率是一个对矛盾的变量。一般精准率高,召回率就会降低,精准率降低,召回率就会偏高。所以我们可以通过PR曲线来寻找精准率和召回率的平衡点。我们一般可以通过改变分类的阈值来对一个模型的一组结果进行绘制PR曲线。比如针对逻辑回归的一组概率,通过设置阈值分别小于[0,0.1,0.2,...,0.8,0.9,1],来分别计算精准率和召回率,然后绘制出曲线。

    image

    如上图所示,曲线B完全包住了曲线C,我们说曲线B的模型比曲线C的模型要好。

    如上图所示的平衡点,基本就是自身曲线的精准率和召回率的平衡的地方,由于这个平衡点比较难评估,所以这时候用F1来近似平衡点。

    1.2 ROC和AUC

    ROC曲线和PR曲线的原理非常相似,绘制的方式也是通过改变分类的阈值。不同的地方是,ROC是以FPR为X轴和TPR为Y轴进行绘制。PR是以R为X轴,P为Y轴进行绘制

    FPR(False Positive Rate)

    [FPR=frac{FP}{FP+TN} ]

    TPR(True Positive Rate)

    可以从下公式看出,TPR和召回率是一样的。

    [TPR=R=frac{TP}{TP+FN} ]

    image

    ROC曲线评价标准是,越靠近左上角,模型效果越好。我们用ROC包住的面积叫做AUC,用AUC的大小来衡量模型的优劣

    1.3 代价敏感学习

    代价敏感的学习方法是机器学习领域中的一种新方法,它主要考虑在分类中,当不同的分类错误会导致不同的惩罚力度时如何训练分类器。例如在医疗中,“将病人误诊为健康人的代价”与“将健康人误诊为病人的代价”不同;在金融信用卡盗用检测中,“将盗用误认为正常使用的代价”与将“正常使用误认为盗用的代价”也不同。

    通常,不同的代价被表示成为一个N×N的Cost矩阵中,其中N是类别的个数。(cost_{ij})表示将一个i类的对象错分到j类中的代价。代价敏感分类就是为不同类型的错误分配不同的代价,使得在分类时,高代价错误产生的数量和错误分类的代价总和最小。

    image

    加入了代价矩阵后,错误率的公式改为如下:

    [E(f,D,cost)=frac{1}{m}(sum_{xin{D^+}}^mI(f(x_i eq{y_i})*cost_{01}+sum_{xin{D^-}}^mI(f(x_i eq{y_i})*cost_{10})) ]

    在非均等代价下,ROC曲线就不能直接反映出模型的总体代价,需要用代价曲线来度量总体代价。

    1.4 绘制正例代价曲线

    代价曲线的X轴是取值[0,1]的正例概率代价,计算方式如下,其中p是正例的概率:

    [P(+)_{cost}=frac{p*cost_{01}}{p*cost_{01}+(1-p)*cost_{10}} ]

    代价曲线的Y轴是取值为[0,1]的归一化代价,FNR是假反例率,FPR是假正例,公式如下:

    [cost_{norm}=frac{FNR*p*cost_{01}+FPR*(1-p)*cost_{10}}{p*cost_{01}+(1-p)*cost_{10}} ]

    [s.t.FNR=1-TPR ]

    ROC曲线上的每一点对应了代价平面上的一条线段,设ROC曲线上的点的坐标为(TPR,FPR),则可以计算出FNR,然后在代价平面上绘制一条从(0,FPR)到(1,FNR)的直线,直线下的面积代表该条件下的期望总体代价;将ROC上的点全都转换为直线,然后取所有线段下界,围城的面积即为在所有条件下的学习器的期望总体代

    image

  • 相关阅读:
    http服务详解(1)——一次完整的http服务请求处理过程
    Mysql数据库的二进制安装和基础入门操作
    DNS—正、反向解析;委派;主从;子域;转发;智能dns等的实现
    CA认证和颁发吊销证书
    Maven构建Web项目
    MySQL,查看连接数和状态等
    Maven编译出现“[ERROR] java.lang.OutOfMemoryError: Java heap space”
    Map集合
    List集合
    Myecplise反编译工具安装
  • 原文地址:https://www.cnblogs.com/huangyc/p/9688273.html
Copyright © 2020-2023  润新知