sqlmap中的columns哪里看_ROC,AUC 还是看我的吧,别人都千篇一律

前言

emmm...第一次写技术贴,工作时候再次学auc,roc....

我引用了这几个帖子,加上其他的是自己深入思考总结的。

  1. 讲解参考:https://zhuanlan.zhihu.com/p/87768945?utm_source=wechat_session&utm_medium=social&utm_oi=786600774271664128
  2. 实战参考:https://www.zhihu.com/question/39840928/answer/146205830?utm_source=wechat_session&utm_medium=social&utm_oi=786600774271664128

抛几个问题,以及超简单回答:

  1. AUC, ROC 干啥的?
    1. 答:用来做模型评估的。
    2. 问:我擦,就是看模型准不准呗,那为啥不用准确率啥的,auc啥的看着就麻烦?
    3. 答:准确率有的场景下没意义,比如拿来100个人,预测一个人是否得疯牛病了,实际上这群人就1个疯牛病,我给个报告就说这些人全正常,那准确率就是99%,你说有意义没?
    4. 问:对哦,我去…这样确实看不出啥,其实得知道这个疯牛病预测的咋样
    5. 答:是啊,所以要搞auc啊,我也很烦,auc其实这玩意相对于准确率的优化点就是把好人和坏人的“准确率”分开算,互不影响。
    6. 问:额,好吧,懂了,那咋算?
    7. 答:就是先搞懂 ROC,不过还得先搞懂混淆矩阵,算了。。你往下看吧。。。
  2. 学这个要提前知道啥?
    1. 混淆矩阵
      1. 问:啥东西?搞的我脑子都混淆了。
      2. 答:就是实际真的,实际假的,预测对的,预测错的,弄成了一个矩阵。着急啥,你接着往下看。
      3. 问 :啥啊,听不懂你说啥,看啥呢?
      4. 答:擦,用这个算FPR,TPR呢哇。
      5. 问:啥FPT啥啊?
      6. 答:滚。。。
    2. FPR,TPR???
      1. 答:就是混淆矩阵再加工一下,算了2个比例。
      2. 问:啥比例?
      3. 答:就FPR,TPR啊!!
      4. 问:那为啥不用其他比例。
      5. 答:大哥,其他也行,比如 FNR 不就是 1-FPR 吗,都是一个理儿。。。
      6. 问:好吧,那你记着讲。。。诶?那这和ROC有啥关系?
      7. 答:你再往下看,这俩东西就是画ROC的!
  3. ROC怎么画啊?
    1. 官方话:设定某一阈值之后,计算出该阈值对应的TPR & FPR,便可以绘制出ROC上对应的一个点,当设定若干个阈值之后,便可以连成ROC曲线,因此当所采样的阈值越多,ROC Curve越平滑。
    2. 问:越是官方好像越是废话,你不觉得吗?
    3. 答:我也觉得,那实操一下吧。。。一会儿看正文。
    4. 问:好吧。。切。。。看看你能到底能不能讲明白.
  4. 画ROC干啥呢?
    1. 答:为了计算AUC啊,auc因为单词就是 area under curve,就是个面积
    2. 问:那为啥这个面积能评估呢?
    3. 答:emmm....这个…往下慢慢读哇,前言说不明白。。。
  5. 有啥优缺点?
    1. 讲完再说!

混淆矩阵

进来看的人,混淆矩阵我猜你懂了,我就用最简单的描述

  • Positive 预测为1,Negative 预测为0
  • True 预测正确,False 预测错误

1cb7c25ea0293819d758430ae440b5a7.png

记住:混淆矩阵是为了FPR,TPR铺垫。

ROC

  • ROC 曲线
    • 纵轴 TPR:真阳率(命中率)真实为 1 的被预测为 1 的
      • TPR = TP / (TP + FN) = TP / P 所有真实类别为 1 的样本中,预测为 1 的比例,越大表示 预测的 1 中 实际 1 越多
    • 横轴 FPR:假阳率(误诊率)真实为 0 的被预测为 1 的:
      • FPR = FP / (FP + TN) = FN / N 所有真实类别为 0 的样本中,预测为 1 的比例,越大表示 预测的 1 中 实际 0 越多
    • 理想:TPR = 1, FPR = 0
    • 记住:FPR,TPR是为了画ROC做铺垫。
  • ROC 绘制
      • 前面说过了:在设定某一阈值之后,计算出该阈值对应的TPR & FPR,便可以绘制出ROC上对应的一个点,当设定若干个阈值之后,便可以连成ROC曲线,因此当所采样的阈值越多,ROC Curve越平滑。
      • 这段废话前面说过了,还是看看实例吧,看完就懂了
import 
  1. 这个图非常清晰了,数据有预测的概率,真实的 label
  2. 从高到低排个序,然后遍历,阈值从高到低划分
  3. 对应不就能算tpr fpr了么
  4. 算出来之后,这些TPR,FPR的点不就可以画ROC了吗。

b3b8cbeda04e0f9732c17ef0fee47470.png

这个图就是用FPR,TPR描出来的

89f0e43588e6538e74bea8d5f38148e5.png
  • ROC解读
    • 面积(AUC)
      • 从所有正例中随机选取一个样本A,再从所有负例中随机选取一个样本B,分类器将A判为正例的概率比将B判为正例的概率大的可能性。
      • 可以看到位于随机线上方的点被认为好于随机猜测,在这样的点上TPR总大于FPR,意为正例被判为正例的概率 > 负例被判为正例的概率。
    • 为啥比准确率更有意义?
      • ROC 的TPR,FPR:能顾兼顾正例和负例的权衡:测试集中的正负样本的分布变换的时候,ROC曲线能够保持不变。
      • TPR聚焦于正例(分母为全部正例),FPR聚焦于与负例(分母为全部负例),因此正负例数量改变时,不会影响另一列。
      • 看下面这个图: (a)和(c)为Roc曲线,(b)和(d)为Precision-Recall曲线,ab样本均衡,cd不均衡。样本不均衡时,ROC曲线基本保持原貌,而P-R曲线变化较大。

25de9f78fa935f3f6be200c7abf599e5.png

先不写了哈哈,有点事,回头再更。

PR曲线

优缺点

AUC其他计算方法

gAUC

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值