2.3 sklearn中的metrics.roc_curve评价指标
文章目录
- 1.案例
- 2.y_score讨论
- 1)y_score是标签数据
- 2)y_score是概率值
from sklearn.metrics import roc_curveroc_curve(y_true, y_score, *, pos_label=None, sample_weight=None,drop_intermediate=True)- Parameters(参数)y_true : ndarray of shape (n_samples,)二进制标签,真实数据结果;如果标签既不是{-1,1}也不是{0,1},则应该明确给出pos_labely_score : ndarray of shape (n_samples,)预测结果数据,可以是标签数据也可以是概率值;与y_true形状一致pos_label : int or str, default=None正类的标签。当pos_label=None时,如果y_true在{- 1,1}或{0,1}中,则将pos_label设置为1,否则将引发错误 sample_weight : array-like of shape (n_samples,), default=None样本权重drop_intermediate : bool, default=True是否降低一些不会出现在绘制的ROC曲线上的非最佳阈值- Returns(返回)fpr——假正率tpr——召回率threshold——阈值
1.案例
>>> import numpy as np
>>> from sklearn import metrics
>>> y = np.array([1, 1, 2, 2])
>>> scores = np.array([0.1, 0.4, 0.35, 0.8])
>>> fpr, tpr, thresholds = metrics.roc_curve(y, scores, pos_label=2)
>>> fpr
array([0. , 0. , 0.5, 0.5, 1. ])
>>> tpr
array([0. , 0.5, 0.5, 1. , 1. ])
>>> thresholds
array([1.8 , 0.8 , 0.4 , 0.35, 0.1 ])
2.y_score讨论
1)y_score是标签数据
# y_score是标签数据
import numpy as np
from sklearn.metrics import roc_curvey_true = np.array([0, 1, 1, 0])
y_score = np.array([0, 1, 0, 0])
fpr, tpr, threshold = roc_curve(y_true, y_score)
print('fpr=', fpr)
print('tpr=', tpr)
print('threshold=', threshold)# fpr= [0. 0. 1.]
# tpr= [0. 0.5 1. ]
# threshold= [2 1 0]
threshold返回结果是y_score内的元素去重后加入’最大值+1’的值,然后降序排序后组成的数据,每一个元素为一个阈值
tpr与fpr为在不同阈值下的值.当阈值为2时,y_score = np.array([0, 0, 0, 0]);此时,TP=0,FP=0,故,tpr=0/2=0,fpr=0/2=0。其余的同理
2)y_score是概率值
# y_score是概率数据
import numpy as np
from sklearn.metrics import roc_curvey_true = np.array([0, 1, 1, 0])
y_score = np.array([0.1, 0.3, 0.6, 0.8])
fpr, tpr, thresholds = roc_curve(y_true, y_score)
print('fpr=', fpr)
print('tpr=', tpr)
print('threshold=', thresholds)# fpr= [0. 0.5 0.5 1. ]
# tpr= [0. 0. 1. 1.]
# threshold= [1.8 0.8 0.3 0.1]
threshold返回结果自己对应理解
当以0.8为阈值时,即y_score中大于等于0.8的为阳性(1),其余的为阴性(0) = >y_score=[0,0,0,1];tpr=0/2=0,fpr=1/2=0.5。其余同理。
2.3 sklearn中的metrics.roc_curve评价指标相关推荐
- sklearn中的metrics.roc_auc_score评价指标
参数说明 from sklearn.metrics import roc_auc_score roc_auc_score(y_true, y_score, *, average='macro', sa ...
- sklearn中的metrics
文章目录 MSE 交叉验证 准确率.精度.召回率.F1.AUC 准确率 混淆矩阵 精度.召回率.F1 ROC & AUC 阈值衡量.ROC曲线 阈值选择 ROC曲线 多分类的metrix问题, ...
- sklearn.metrics.roc_curve
官方网址:http://scikit-learn.org/stable/modules/classes.html#module-sklearn.metrics 首先认识单词:metrics: ['mɛ ...
- sklearn.metrics.roc_curve解析
官方网址:http://scikit-learn.org/stable/modules/classes.html#module-sklearn.metrics 首先认识单词:metrics: ['m ...
- sklearn.metrics.roc_curve使用简要说明
sklearn.metrics.roc_curve使用简要说明 一.背景说明 二.TP.TN.FP.FN概念 四.roc_curve运行机制简单剖析 4.1.roc_curve简单介绍 4.1.1 重 ...
- sklearn中的支持向量机SVM(下)
1 二分类SVC的进阶 1.1 SVC用于二分类的原理复习 sklearn中的支持向量机SVM(上) 1.2 参数C的理解进阶 有一些数据,可能是线性可分的,但在线性可分状况下训练准确率不能达到100 ...
- 02_混淆矩阵、准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F值(F-Measure) +Roc曲线和PR曲线+sklearn中分类模型评估API+ 自己补充整理
此博文参考: 关于ROC绘制参考博文: https://blog.csdn.net/u011630575/article/details/80250177 Python+ROC相关的博文: https ...
- sklearn中的聚类算法K-Means
1 概述 1.1 无监督学习与聚类算法 决策树.随机森林.逻辑回归虽然有着不同的功能,但却都属于"有监督学习"的一部分,即是说,模型在训练的时候,既需要特征矩阵XXX,也需要真实标 ...
- sklearn中一些参数
转载:http://www.cnblogs.com/chenyaling/p/7826229.html 1.监督学习 1.1.广义线性模型 1.1.1.普通最小二乘法 class sklearn.l ...
- curve函数 roc_sklearn.metrics.roc_curve使用说明
roc曲线是机器学习中十分重要的一种学习器评估准则,在sklearn中有完整的实现,api函数为sklearn.metrics.roc_curve(params)函数. 不过这个接口只限于进行二分类任 ...
最新文章
- 大丈夫不可一日无权啊!——项目经理的误区(转)
- Python Qt GUI快速编程第六章代码分析
- oh,我的老伙计,你看看这近五十个dapr视频
- app访问java web_Java Web App体系结构
- php常用算法的时间复杂度,php的几个经典排序算法及时间复杂度和耗时​
- 黑客攻防技术宝典Web实战篇第2版—第1章Web应用程序安全与风险
- c语言fread malloc,流操作之读写(fread、fwrite、fopen、malloc)
- MyEclipse中搭建spring-boot+mybatis+freemarker框架
- PHP的性能大坑--strtotime函数
- 按下组合键 可以迅速锁定计算机,Win7锁定计算机快捷键是什么?Win7使用锁定计算机快捷键的方法...
- HDU2027 统计元音【文本处理】
- Python ICMP扫描
- c语言教师工资管理系统源程序设计,C语言教师工资管理系统
- 60个经典电脑使用技巧
- 网站实现GNSS数据批量下载
- 算法工程师的职业发展前景思考和总结
- 斯坦福大学公开课:iOS 7应用开发 (二)
- 基于Python的个人博客系统设计与实现 报告+项目源码
- 中国移动的指令大全!(不再需要人工台)
- Java中如何实现添加用户信息_如何通过Java客户端在Active Directory中创建新用户并将其添加到现有组...
热门文章
- 自定义形状的ImageView制作
- C语言——判断一个数是否为素数(2种方法)
- 反馈抑制器使用场景与市场
- java sqlldr_sqlldr使用(转)
- linux下如何创建oracle数据库实例,Linux下新建Oracle数据库实例
- windows系统好用的输入法推荐
- Mysql 分页,排序 打字练习
- mina框架详解-小白收藏
- 【python写一个AI对战五子棋游戏】
- ec6108v9a精简刷机包_华为悦盒无安装限制固件下载|华为悦盒EC6108V9A第三方精简流畅无安装限制固件 下载 - 巴士下载站...