AUC(Area under curve)是机器学习常用的二分类评测手段,直接含义是ROC曲线下的面积。另一种解释是:随机抽出一对样本(一个正样本,一个负样本),然后用训练得到的分类器来对这两个样本进行预测,预测得到正样本的概率大于负样本概率的概率。 在有M个正样本,N个负样本的数据集里,利用公式求解: $$ AUC=\frac{\sum_{i \in positiveClass} rank_i-\frac{M(1+M)}{2}}{MN} $$ 在python实现中,相当于使用了计数排序,因为概率是一个小数,我们同时乘以100取整数进行排序(也可以根据精度调整)。在排完序后,我们就可以得到正样本概率大于负样本概率的个数,再加上正样本概率等于负样本概率的个数的一半,除以总共的样本数(MN),即可得到最终的AUC值。

def AUC(labels,preds,n_bins=100):

m = sum(labels)

n = len(labels) - m

total_case = m * n

pos = [0 for _ in range(n_bins)]

neg = [0 for _ in range(n_bins)]

bin_width = 1.0 / n_bins

for i in range(len(labels)):

nth_bin = int(preds[i]/bin_width)

if labels[i]==1:

pos[nth_bin] += 1

else:

neg[nth_bin] += 1

accumulated_neg = 0

satisfied_pair = 0

for i in range(n_bins):

satisfied_pair += (pos[i]*accumulated_neg + pos[i]*neg[i]*0.5)

accumulated_neg += neg[i]

return satisfied_pair / total_case

y = [1,0,0,0,1,0,1,0,]

pred = [0.9, 0.8, 0.3, 0.1,0.4,0.9,0.6,0.7]

print(AUC(y, pred, n_bins=100))

作为机器学习中的经典评价准则,AUC的计算也作为面试笔试常考的算法题。

python计算auc值_Python计算AUC相关推荐

  1. python最优分箱计算iv值_Python计算woe和iv值

    计算逻辑 先计算WOE值,再计算IV值. 其中Y或N分别是YES,NO,反应在因变量中,就是1和0. Yi是第i组中1的个数,YT是所有(Total)为1的个数. Ni是第i组中0的个数,NT是所有( ...

  2. 怎样用python计算π的值_Python 计算 π 值的简单示例

    对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! π是一个无数人追随的真正的神奇数字.我不是很清楚一个永远重复的无理数的迷人之处.在我看来,我乐于计 ...

  3. ROC曲线和AUC值的计算

    转载自:https://zhuanlan.zhihu.com/p/25212301,本文只做个人记录学习使用,版权归原作者所有. 1.混淆矩阵 混淆矩阵如下图所示,分别用0和1代表负样本和正样本.FP ...

  4. python利用以下公式求π的值_Python 计算 π 值的简单示例

    这篇文章主要为大家详细介绍了Python 计算 π 值的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! π是一 ...

  5. python求阶乘之和_python计算阶乘前n项和

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 知道公式后就很简单了,利用for循环,第几行i+1就等于几,当然python中是 ...

  6. python怎么算积分_python计算积分

    python有多个方法计算积分,下面介绍其中三个,以下式为例: 方法一:直接用numpy计算 start = 1 stop = 2 length = 101 x = np.linspace(start ...

  7. python怎么算阶乘_python计算阶乘

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 问题本身很简单,主要是通过这个小问题来演示python的一些用法,例如测试代码运 ...

  8. 用python计算两点坐标_python 计算方位角实例(根据两点的坐标计算)

    知道两点坐标,怎么计算两点方向的方位角? 答:首先计算坐标增量dx,dy(两个对应坐标分量相减,终点的减始点的). 若dx,dy中有一个为零时,根据另一个的正负决定方位角(0,90,180,270这四 ...

  9. python计算化学浓度_python 计算化学

    信息举报 时间:2021-02-11 本页为您甄选多篇描写python 计算化学,python 计算化学精选,python 计算化学大全,有议论,叙事 ,想象等形式.文章字数有400字.600字.80 ...

最新文章

  1. html文字绕图文字置顶,如何实现html文字绕排
  2. (Spring)使用注解开发
  3. 【项目实战课】基于Pytorch的MTCNN与Centerloss人脸识别实战
  4. html跨浏览器兼容性问题
  5. Oracle统计信息中的Pending Statistics
  6. python读取多个txt文件数据恢复_带有Pandas的Python 2.7:如何恢复两个数据帧...
  7. gitee怎么看用户名_怎么优雅的写博客 Typora + picGo
  8. 云上直播性能优化及测试方案详解
  9. 数据结构笔记(参考王道考研系列)
  10. 收集的Word2007技巧大全
  11. C# 计算农历日期方法
  12. MATLAB中绘制椭圆
  13. web使用百度地图实现经纬度定位和轨迹
  14. masOS上使用Java 3D解决方案
  15. golang学习笔记(6)-gorm实现查询功能
  16. php-redis常用操作
  17. Pyinstaller的Spec文件用法
  18. C# - 音乐小闹钟_BetaV1.0
  19. 聚焦 Android 11: 游戏开发新工具
  20. 营养食谱小贴士:选择食物巧防职业病

热门文章

  1. tightvnc使用技巧,教你个5步tightvnc使用技巧
  2. 【酷熊科技】工作积累 ----------- unity scrollview 点击后会有偏移问题(有图片)
  3. 用户输入汉字时计算机首先将,用户输入汉字时,计算机首先将汉字的输入码转换为__________。...
  4. C语言实现数字转口语化表达
  5. 一个外企白领的悲惨生活
  6. 安装Win7键盘驱动遇到的问题
  7. UESTC 1712 七夜雪寂,一世人心
  8. MAC下IDEA快捷键
  9. 惠普电脑u盘重装系统步骤_惠普台式机u盘重装系统win10详细步骤及注意事项
  10. Web前端程序设计作业--天安门