美文网首页
机器学习算法中的评价指标

机器学习算法中的评价指标

作者: 小眼大神 | 来源:发表于2019-03-21 00:38 被阅读0次

    在以往的印象中,我对这些评价指标算是比较熟悉的。知道一次跟人聊起,发现自己现在已经完全记不清这些指标的意义了,现查阅相关资料之后,将其记录于此。

    混淆矩阵

    一个二分类问题,会将样本分成正类(positive)和负类(negative),所以对于二分类问题来说,算法结果会出现四种情况:

    • 真实正类预测成正类(TP: True Positive)
    • 真实负类预测成正类(FP: False Positive)
    • 真实正类预测成负类(FN: False Negative)
    • 真实负类预测成负类(TN: True Negative)

    绘成矩阵形式即为混淆矩阵:

    预测1 预测0
    真实1 TP FN
    真实0 FP TN

    TPR,FPR

    真正类率(True Positive Rate,TPR):预测出的正类占所有真正正类的比率
    TPR = \frac{TP}{TP + FN}
    负正类率(False Positive Rate,FPR):预测为正类的负例占所有负例的比率
    FPR=\frac{FP}{FP + TN}

    精准率Precision、召回率Recall、F1值

    精准率Precision:预测为正例的样本中正确的比例,衡量的是模型的查准率
    P = \frac{TP}{TP+FP}
    准确率Accuracy:所有预测正确的样本(包括正例和负例)中正确的比例
    ACC = \frac{TP + TN}{TP+TN+FP+FN}

    在样本不平均的情况下, 准确率这个评价指标有比较大的问题。例如,在正负比例为1:999的样本中,如果全部将样本预测成负类,那么准确率也有99.9%,然而此时的准确率却没有什么意义。

    召回率Recall:所有的正类样本中,被正确预测为正类的样本所占的比率,衡量的是模型的查全率
    R = \frac{TP}{TP+FN}
    F1值:在大多数情况下, 一个模型的精准率和召回率往往会存在矛盾的情况,精准率越高,召回率越低,相反,召回率越高,精准率越低。因此有精确率和召回率的调和均值
    \begin{align*} \frac{2}{F_1} & = \frac{1}{P} + \frac{1}{R}\\\\ F_1 & = \frac{2TP}{2TP + FP + FN} \end{align*}

    ROC曲线

    ROC(receiver operating characteristic curve):接受者操作特征曲线,用来反映敏感性和特异性连续变量的综合指标,曲线上的每个点反映这对同一信号刺激的感受性。

    image.png

    该曲线绘制了以下两个参数:

    • 真正例率(True Positive Rate, TPR):预测为正且实际为正的样本占所有正例样本的比例,即召回率。
      TPR = \frac{TP} {TP + FN}

    • 假正例率(False Positive Rate, FPR):预测为正但实际为负的样本占所有负例样本的比例。
      FPR = \frac{FP}{FP+TN}

    ROC 曲线中的每个点表示不同分类阈值时的 TPR 与 FPR。

    当阈值的逐渐减小,越来越多的实例被划分为正类,但是这些正类中同样也掺杂着真正的负实例,即TPR和FPR会同时增大。

    阈值最大时,对应坐标点为(0,0),阈值最小时,对应坐标点(1,1)。

    理想目标:TPR=1,FPR=0,即图中(0,1)点,故ROC曲线越靠拢(0,1)点,越偏离45度对角线越好。

    ROC 曲线下面积 AUC(Area Under Curve)

    很多时候 ROC 曲线并不能清晰的说明哪个分类器的效果更好,因此使用AUC来评判分类器的效果。

    曲线下面积表示“ROC 曲线下面积”。也就是说,曲线下面积测量的是从 (0,0) 到 (1,1) 之间整个 ROC 曲线以下的整个二维面积。显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围一般在0.5和1之间。

    K-S 曲线

    KS曲线和 ROC 曲线的画法有很大不同, LR 模型为例,首先把 LR 模型输出的概率从大到小排序,然后取所有分数值中的十分位点值作为阀值,计算出不同的 FPR 和 TPR 值,以10% * k(k=1,2,3, … ,9)为横坐标,分别以 TPR 和 FPR 的值为纵坐标,就可以画出两个曲线,这就是K-S曲线。

    1553616536374.png

    KS = max(TPR - FPR),即是两条曲线之间的最大间隔距离。当 (TPR - FPR) 最大时,即 ΔTPR - ΔFPR = 0,这和 ROC 曲线上找最优阀值的条件 ΔTPR = ΔFPR 是一样的。

    相关文章

      网友评论

          本文标题:机器学习算法中的评价指标

          本文链接:https://www.haomeiwen.com/subject/nuffvqtx.html