位置: IT常识 - 正文

ROC曲线绘制(Python)(roc曲线绘制r语言)

编辑:rootadmin
ROC曲线绘制(Python)

推荐整理分享ROC曲线绘制(Python)(roc曲线绘制r语言),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:roc曲线绘制代码,roc曲线绘制代码,roc曲线绘制软件,roc曲线绘制代码,roc曲线绘制代码,ROC曲线绘制python代码,roc曲线绘制python,roc曲线绘制python,内容如对您有帮助,希望把文章链接给更多的朋友!

首先以支持向量机模型为例

先导入需要使用的包,我们将使用roc_curve这个函数绘制ROC曲线!

from sklearn.svm import SVCfrom sklearn.metrics import roc_curvefrom sklearn.datasets import make_blobsfrom sklearn. model_selection import train_test_splitimport matplotlib.pyplot as plt%matplotlib inline

然后使用下面make_blobs函数,生成一个二分类的数据不平衡数据集;

使用train_test_split函数划分训练集和测试集数据;

训练SVC模型。

X,y = make_blobs(n_samples=(4000,500), cluster_std=[7,2], random_state=0)X_train,X_test,y_train, y_test = train_test_split(X,y,random_state=0)clf = SVC(gamma=0.05).fit(X_train, y_train)

fpr,tpr, thresholds = roc_curve(y_test,clf.decision_function(X_test))plt.plot(fpr,tpr,label='ROC')plt.xlabel('FPR')plt.ylabel('TPR')

从上面的代码可以看到,我们使用roc_curve函数生成三个变量,分别是fpr,tpr, thresholds,也就是假正例率(FPR)、真正例率(TPR)和阈值。

ROC曲线绘制(Python)(roc曲线绘制r语言)

而其中的fpr,tpr正是我们绘制ROC曲线的横纵坐标,于是我们以变量fpr为横坐标,tpr为纵坐标,绘制相应的ROC图像如下:

值得注意的是上面的支持向量机模型使用的decision_function函数,是自己所特有的,而其他模型不能直接使用。

比如说我们想要使用其他模型(例如决策树模型)的结果绘制ROC,直接套用上面的代码,会报错,会显示没有这个函数。

以决策树模型为例,解决上述问题(适用于除向量机外的模型)

导入决策树模型包以及训练模型的代码省略了,只需要手动改一改就行了,我们直接看绘图的代码!

fpr,tpr, thresholds = roc_curve(y_test,clf.predict_proba(X_test)[:,1])plt.plot(fpr,tpr,label='ROC')plt.xlabel('FPR')plt.ylabel('TPR')

可以看到我们直接把只适用于支持向量机模型的函数decision_function更改成predict_proba(X_test)[:,1]就行了,让我们看看结果:

可以看到哈,决策树模型在这个数据集上的泛化能力不如支持向量机哈!!!学废了吗。

更好看的画法auc = roc_auc_score(y_test,clf.predict_proba(X_test)[:,1])# auc = roc_auc_score(y_test,clf.decision_function(X_test))fpr,tpr, thresholds = roc_curve(y_test,clf.decision_function(X_test))plt.plot(fpr,tpr,color='darkorange',label='ROC curve (area = %0.2f)' % auc)plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')plt.xlim([0.0, 1.0])plt.ylim([0.0, 1.05])plt.xlabel('False Positive Rate')plt.ylabel('True Positive Rate')plt.title('Receiver operating characteristic example')plt.legend(loc="lower right")plt.savefig('suhan.jpg',dpi=800)plt.show()

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

上一篇:JAVAFile类以及怎么在目录不存在的情况下创建文件(javafiles)

下一篇:Vue 实现拖拽模块(二)自定义拖拽组件位置(vue模块拖拽)

  • 个税必须每个人交吗
  • 发行股票支付给承销商的发行费用计入
  • 一次性开票分期确认收入的税务文件是什么
  • 不付加工费怎么办
  • 小规模纳税人开专票需要交税吗
  • 收到以前年度的政府补助会计分录
  • 2018年度企业所得税税率表
  • 合同解除收取对方的违约金交什么税
  • 企业税收标准是多少
  • 新房购置税怎么算2022
  • 公司代扣代缴个税完税凭证在哪里可以打印
  • 上市公司股票增持是什么回事
  • 个税退税入账
  • 电力工程公司岗位职责
  • 没有实收资本是负债吗
  • 购买设备的增值税是支出吗
  • 小规模纳税人网上申报流程视频
  • 投资理财产品的优势和劣势
  • 增票丢失怎么开完税证明
  • 营改增对运输业的影响
  • 土地使用权出让金
  • 预收的销售商品货款通过什么科目核算
  • 收到留抵税额退税怎么做分录
  • 出租无形资产收到的租金
  • 商贸公司怎么结算成本
  • 股票投资报酬率怎么算excel
  • win7系统无法启用网络发现
  • 在王者荣耀里怎么删除好友
  • 桌面图标变成了一张纸
  • 如何安全的处置电子邮件
  • php遍历显示多维数组
  • 应付账款周转天数长对企业的影响
  • 存货盘盈怎么做账
  • nginx配置php项目
  • php和mysql的联合使用
  • 应纳税为什么是0
  • 个税申报工资比实发工资少,但没超过5000可以举报吗
  • 深度学习之concatenate和elementwise操作(二)
  • java开发从入门到精通
  • 工资应纳税额怎么算
  • 税控服务费在电子税务局表一里怎么填写
  • 企业所得税汇算清缴操作流程
  • 预付账款的会计处理
  • 苹果响应机制
  • 合并报表的会计主体
  • 存货跌价准备的结转会计分录
  • 个人提供劳务增值税专用发票
  • 应付职工薪酬的含义
  • 临时用工费用计入什么会计科目
  • 应付国库集中支付结余核算
  • 员工意外险税前扣除比例
  • 外币汇率分录
  • 存货报废如何做账
  • 按工人工资比例结转制造费用会计科目
  • 技术服务所发生的事故
  • 社保扣费不成功会再次扣费吗
  • 固定资产清理贷方余额是什么意思
  • 包工包料怎么开13个点发票
  • 报销单填写发票第几页交给财务
  • 担保贷款中的特殊形式
  • 实务操作中如何快速记忆
  • 五险一金怎么用呢
  • 新开办企业如何建账
  • mysql密码忘了怎么办?
  • win2003控制面板在哪里打开
  • 开机启动项怎么取消设置
  • 麒麟系统命令
  • Extjs4 GridPanel的主要配置参数详细介绍
  • js html css
  • unity项目流程
  • 安卓基础入门教程
  • jquery中什么方法用于模拟光标悬停事件
  • node.js上传文件
  • jquery瀑布流
  • 归并代码
  • jQuery.Callbacks()回调函数队列用法详解
  • 境外承包工程款收入
  • 江苏省国家税务局电话号码
  • 留抵退税退回的款如何做账
  • 纳税人有什么影响
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设