位置: 编程技术 - 正文

利用Python画ROC曲线和AUC值计算(用python画roc曲线)

编辑:rootadmin

推荐整理分享利用Python画ROC曲线和AUC值计算(用python画roc曲线),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python画roc曲线需要什么数据,python画曲面图,python一张图中绘制多条roc曲线,python 画曲线,python 画曲线,python一张图中绘制多条roc曲线,python 画曲线,用python画roc曲线,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣。这篇文章将先简单的介绍ROC和AUC,而后用实例演示如何python作出ROC曲线图以及计算AUC。

AUC介绍

AUC(Area Under Curve)是机器学习二分类模型中非常常用的评估指标,相比于F1-Score对项目的不平衡有更大的容忍性,目前常见的机器学习库中(比如scikit-learn)一般也都是集成该指标的计算,但是有时候模型是单独的或者自己编写的,此时想要评估训练模型的好坏就得自己搞一个AUC计算模块,本文在查询资料时发现libsvm-tools有一个非常通俗易懂的auc计算,因此抠出来用作日后之用。

AUC计算

AUC的计算分为下面三个步骤:

1、计算数据的准备,如果模型训练时只有训练集的话一般使用交叉验证的方式来计算,如果有评估集(evaluate)一般就可以直接计算了,数据的格式一般就是需要预测得分以及其目标类别(注意是目标类别,不是预测得到的类别)

2、根据阈值划分得到横(X:False Positive Rate)以及纵(Y:True Positive Rate)点

3、将坐标点连成曲线之后计算其曲线下面积,就是AUC的值

直接上python代码

利用Python画ROC曲线和AUC值计算(用python画roc曲线)

输入的数据集可以参考svm预测结果

其格式为:

其中: 1、nonclick:未点击的数据,可以看做负样本的数量

2、clk:点击的数量,可以看做正样本的数量

3、score:预测的分数,以该分数为group进行正负样本的预统计可以减少AUC的计算量

运行的结果为:

如果本机没安装pylab可以直接注释依赖以及画图部分

注意

上面贴的代码:

1、只能计算二分类的结果(至于二分类的标签随便处理)

2、上面代码中每个score都做了一次阈值,其实这样效率是相当低的,可以对样本进行采样或者在计算横轴坐标时进行等分计算

总结

本文链接地址:https://www.jiuchutong.com/biancheng/384464.html 转载请保留说明!

上一篇:Python文件与文件夹常见基本操作总结(python文件文件夹操作)

下一篇:Python实现拷贝多个文件到同一目录的方法(python拷贝列表)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络