如何在一张图中画多条ROC线?

2023-11-02 12:10
文章标签 一张 roc 多条 图中画

本文主要是介绍如何在一张图中画多条ROC线?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

示例1:
import numpy as np
import matplotlib.pyplot as pltx = np.linspace(0, 2 * (np.pi))  #numpy.linspace(开始,终值(含终值)),个数)
y1 = np.sin(x)
y2 = np.cos(x)#画图
plt.title('Compare cosx with sinx')  #标题
#plt.plot(x,y)
#常见线的属性有:color,label,linewidth,linestyle,marker等
plt.plot(x, y1, color='cyan', label='sinx')
plt.plot(x, y2, 'b', label='cosx')#'b'指:color='blue'
plt.legend()  #显示上面的label
plt.xlabel('x')
plt.ylabel('f(x)')
plt.axis([0, 2*np.pi, -1, 1])#设置坐标范围axis([xmin,xmax,ymin,ymax])
#plt.ylim(-1,1)#仅设置y轴坐标范围
plt.show()

在这里插入图片描述

示例2:
from sklearn import metrics
import pylab as plt
def ks(y_predicted1, y_true1, y_predicted2, y_true2, y_predicted3, y_true3):Font={'size':18, 'family':'Times New Roman'}label1=y_true1label2=y_true2label3=y_true3fpr1,tpr1,thres1 = metrics.roc_curve(label1, y_predicted1)fpr2,tpr2,thres2 = metrics.roc_curve(label2, y_predicted2)fpr3,tpr3,thres3 = metrics.roc_curve(label3, y_predicted3)roc_auc1 = metrics.auc(fpr1, tpr1)roc_auc2 = metrics.auc(fpr2, tpr2)roc_auc3 = metrics.auc(fpr3, tpr3)plt.figure(figsize=(6,6))plt.plot(fpr1, tpr1, 'b', label = 'Stacking = %0.3f' % roc_auc1, color='Red')plt.plot(fpr2, tpr2, 'b', label = 'XGBoost = %0.3f' % roc_auc2, color='k')plt.plot(fpr3, tpr3, 'b', label = 'Random Forest = %0.3f' % roc_auc3, color='RoyalBlue')plt.legend(loc = 'lower right', prop=Font)plt.plot([0, 1], [0, 1],'r--')plt.xlim([0, 1])plt.ylim([0, 1])plt.ylabel('True Positive Rate', Font)plt.xlabel('False Positive Rate', Font)plt.tick_params(labelsize=15)plt.show()return abs(fpr1 - tpr1).max(),abs(fpr2 - tpr2).max(),abs(fpr3 - tpr3).max()
import pandas as pd
r1 = pd.read_csv(r"C:\Users\Royalwen\Desktop\stacking.csv",header=None,names=['用户标识','预测','标签'])
r2 = pd.read_csv(r"C:\Users\Royalwen\Desktop\xgboost.csv",header=None,names=['用户标识','标签','预测'])
r3 = pd.read_csv(r"C:\Users\Royalwen\Desktop\rf.csv",header=None,names=['标签','预测'])print("线下得分;")
print(ks(r1.预测, r1.标签, r2.预测, r2.标签, r3.预测, r3.标签))

在这里插入图片描述

这篇关于如何在一张图中画多条ROC线?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/330494

相关文章

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

Oracle把一个表的某个字段更新到另一张表中

第一种方法: update tablea set column_name1=(select name2 from tableb where tableb.name3=tablea.name1) 只修改一个 update tablea set column_name1=(select name2 from tableb where tableb.name3='a') where tablea.na

Mybatis查询到多条记录但是映射到list集合只有一条或者条数不对

如果你出现了这个问题。 *. 原因:mybatis是基于当前实体对象的id进行映射的 *.所以在查询字段中加上查询id即可。 搞定!!!!

Mysql 一对多 一条数据对应多条数据 多条数据合并成一个字段显示

场景:产品列表显示产品的多个标签 mysql 查询。 以往的解决办法都是查出先查出产品列表,在循环查询标签,多个标签用","隔开。 这样查询列表查一次数据库,循环列表又要查询数据库多次。性能太差。 表结构: 产品表: CREATE TABLE `kx_product` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `title` varchar(

一个困扰了我三天的SQL优化问题。(多条数据取最近的数据)

由于优化的方向不对,一个SQL困扰了我好几天,物化视图什么之类的,全部都试过了,还是没有解决。今天,在看这个问题的时候,灵光一现,咦,好像是这里有问题,然后改了一下,终于解决了。这个SQL,从最初的16秒,后面换了各种方法,有180秒,150秒,60多秒,试过了各种SQL,终于,优化到了0.3秒。好了,现在说下问题。            这个SQL总共涉及了6张表,其实

阿里十年架构师用一张图告诉你什么是系统架构师

阿里十年架构师用一张图告诉你什么是系统架构师 Java架构解析 2018-11-03 20:54:41 这张图从架构师的综合能力、岗位认识、岗位职责等方面,清楚的画出了作为一个架构的基本准则。人人都想成为架构师,可作为架构你达到了图上面的要求了吗?   系统架构师是个神奇的岗位。为什么这么说,在一个人数不多的小公司,你可能什么都需要做,身体力行,做总监兼架构师或者是主管/高级开发兼架构

oracle存储过程Loop循环一张表插入到另外一张表

oracle存储过程Loop循环一张表插入到另外一张表   1、创建一个存储过程   Sql代码   create or replace procedure inserttest as   cursor cs is SELECT sales_id FROM t02salesinfo_backup;sales_id varchar(128);   begin   for c in c

项目实训:创建一张贺卡以及一只盒子——WEB开发系列27

以下是两道关于基础 CSS 盒模型和其他盒子相关特性的练习题,适合测试对这些概念的掌握程度,通过实际的设计任务来深入理解这些概念。 练习题 1: 设计一张中秋节海报贺卡 任务描述 制作一张精美的中秋节海报贺卡,用于庆祝这个传统节日。你的目标是应用 CSS 盒模型的各种属性来创建一个视觉上吸引人的海报,包括边距(margin)、边框(border)、内边距(padding)和内容区域(co

自然语言处理-应用场景-文本生成:Seq2Seq --> 看图说话【将一张图片转为一段文本】

人工智能-自然语言处理(NLP)-应用场景-Seq2Seq:看图说话【将一张图片转为一段文本】