温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用4个样本画出ROC曲线

发布时间:2022-01-04 15:37:03 阅读:232 作者:柒染 栏目:大数据
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这期内容当中小编将会给大家带来有关如何使用4个样本画出ROC曲线,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

ROC 曲线,作为评价机器学习模型敏感度的一条重要曲线,在分类任务评价机制中应用较多。

但是很多朋友对于 ROC 曲线的理解还是有些模糊,心想着 x 轴是 FPR, y 轴是 TPR, 组条曲线有些神秘。

今天,咱们用 4 个样本,使用逻辑回归,分类阈值分别从 0.,0.2,0.4,0.6,0.8,1.0,依次变化,分别求出对应分类阈值的 FRP 和 TPR 值。

这样不就得到 6 个 (FRP,TPR) 点,组个曲线,不就是 ROC 曲线吗!

# 有监督任务,四个样本的实际值:target = np.array([1,0,1,0])
 

计算公式:

def TPR(TP,FN):    return TP / (TP + FN)def FPR(FP,TN):    return FP / (FP + TN)
 

使用逻辑回归 Logistic regression,得到 4 个样本的概率分布为:[0.8,0.6,0.4,0.2]

当分类阈值参数 alpha 为 0.0 时

y0 = np.array([1,1,1,1])p00 = [TPR(2,0),FPR(2,0)]p00
 

结果:

[1.0, 1.0]
 

当分类阈值参数 alpha 为 0.2 时

# 同理,假如分类阈值 alpha = 0.2#y02 = np.array([1,1,1,1])p02 = [TPR(2,0),FPR(2,0)]p02
 

结果:

[1.0, 1.0]
 

当分类阈值参数 alpha 为 0.4 时

target = np.array([1,0,1,0])y04 = np.array([1,1,1,0])p04 = [TPR(2,0),FPR(1,1)]p04
 

结果:

[1.0, 0.5]
 

当分类阈值参数 alpha 为 0.6 时

# 同理,假如分类阈值 alpha = 0.6#target = np.array([1,0,1,0])y06 = np.array([1,1,0,0])p06 = [TPR(1,1),FPR(1,1)]p06
 

结果:

[0.5, 0.5]
 

当分类阈值参数 alpha 为 0.8 时

# 同理,假如分类阈值 alpha = 0.8#target = np.array([1,0,1,0])y08 = np.array([1,0,0,0])p08 = [TPR(1,1),FPR(0,2)]p08
 

结果:

[0.5, 0.0]
 

当分类阈值参数 alpha 为 1.0 时

# 同理,假如分类阈值 alpha = 1.0#target = np.array([1,0,1,0])y10 = np.array([0,0,0,0])p10 = [TPR(0,2),FPR(0,2)]p10
 

结果:

[0.0, 0.0]
 

绘制以上 6 个点,得到 ROC 曲线:

npxy = np.array(xy)fpr = npxy[:,1]tpr = npxy[:,0]plt.scatter(fpr,tpr)plt.plot(fpr,tpr)plt.grid()alphas = [0.0,0.2,0.4,0.6,0.8,1.0]for alpha,x,y in zip(alphas,fpr,tpr):    plt.annotate("alpha=%s" % (alpha,), xy=(x,y), xytext=(-20, 10), textcoords='offset points')

如何使用4个样本画出ROC曲线

上述就是小编为大家分享的如何使用4个样本画出ROC曲线了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/4585819/blog/4401146

roc
AI

开发者交流群×