zoukankan      html  css  js  c++  java
  • 机器学习性能度量指标:ROC曲线、查准率、查全率、F1

    错误率

    在常见的具体机器学习算法模型中,一般都使用错误率来优化loss function来保证模型达到最优。

    [错误率=frac{分类错误的样本}{样本总数} ]

    [error=frac{1}{m} sum_{i=1}^{m} I(f(x_{i}) eq y_{i}) ]

    但是错误率有一个严重的缺点:
    错误率会掩盖样本如何被错误分类事实,这样对于有的问题很难进行下一步的分析

    混淆矩阵 confusion matrix

    真正例: True Positive
    真反例: True Negative
    假正例: False Positive
    假反例: False Negative

    下面是一个二分类的混淆矩阵:

    真实情况 预测 结果
    正例 反例
    正例 TP(真正) FN(假反)
    反例 FP(假正) TN(真反)

    查准率(正确率):

    [precision=frac{真正正确的个数}{分类中正确的个数} ]

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

    查全率(召回率):

    [recall=frac{预测为正确的个数}{真实情况正确的个数} ]

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

    综合考虑查准率和查全率的性能度量

    F1:
    F1是基于查全率和查准率的调和平均(harmonic mean)定义的

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

    [frac{1}{F_{1}}=frac{2*P*R}{P+R}=frac{2*TP}{总样本树+TP-TN} ]

    度量分类中非均衡分类问题 ROC 与AUC

    ROC:receiver operating characteristic 受试者工作特征
    横坐标:假正例率

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

    纵坐标:真正例率 就是回归率

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

    图形绘制过程:西瓜书 2.3.3 p34
    一共有 (m^{+})个正例,(m^{-})个反例

    • 1.先将样例按照学习器的预测结果进行排序
    • 2.将分类阈值设置为最大,这样所有的样例都预测为反例。这就是图形的左下点(0,0)
    • 3.将分类阈值设置为每个预测结果值,依次将每个样例预测为正例
    • 4.假设前一个标记点坐标(x,y).如果当前例为TP,则对应标记点的坐标为((x,y+frac{1}{m^{+}})) 如果当前例为FP,则对应标记点坐标为((x+frac{1}{m^{-}},y))

    不同的ROC曲线根据AUC来进行比较
    AUC:area under ROC curve
    可根据微积分的定义来求解:

    [AUC=frac{1}{2} sum_{i=1}^{m-1}(x_{i+1}-x_{i}(y_{i}+y_{i+1})) ]

    不要用狭隘的眼光看待不了解的事物,自己没有涉及到的领域不要急于否定. 每天学习一点,努力过好平凡的生活.
  • 相关阅读:
    ecplise中修改reviewboard密码
    本地上jar命令
    Python面试必须要看的15个问题
    Maven命令行窗口指定settings.xml
    codevs1002搭桥(建图+Prim)
    codevs1099字串变换(Bfs)
    codevs1044四子连棋(Dfs)
    codevs1226倒水问题(Bfs)
    codevs1051单词接龙(栈)
    niop 2014寻找道路
  • 原文地址:https://www.cnblogs.com/GeekDanny/p/10024521.html
Copyright © 2011-2022 走看看