【Python学习】 - sklearn学习 - 评估指标precision_score的参数说明
函数声明:
precision_score(y_true, y_pred, labels=None, pos_label=1, average='binary', sample_weight=None)
其中较为常用的参数解释如下:
y_true:真实标签
y_pred:预测标签
average:评价值的平均值的计算方式。可以接收[None, 'binary' (default), 'micro', 'macro', 'samples', 'weighted']对于多类/多标签目标需要此参数。下面进行详细说明:
如果是None,则返回每个类的分数。否则,这决定了对数据进行平均的类型用下面几种统计方法的哪一种:
先说对于'micro' :
这两种写法是等价的
print(precision_score(y_test, y_pred,average='micro'))
print(np.sum(y_test == y_pred) / len(y_test))
以下内容中,P表示二分类时精确率的计算结果 部分内容参考
' macro ' : 相当于类间不带权重。不考虑类别数量,不适用于类别不均衡的数据集,其计算方式为: 各类别的P求和/类别数量
' weighted ' : 相当于类间带权重。各类别的P × 该类别的样本数量(实际值而非预测值)/ 样本总数量
举个例子:
如实际样本中,0类有98个样本,1类有2个样本,3类有100个样本,共有3类,样本总数为20。
预测结果中,0类全部预测为3类,全部错误;1类全部预测正确;3类全部预测为0类,全部预测错误。
则P_macro = 0 + 1 + 0 / 3 = 0.33333333
P_weighted = 0×98 + 1×2 + 0×100 / 200 = 2/200 = 0.01
再举个例子:
如共有100个样本,0类98个,1类2个;
预测结果为全0
则P_macro = 0.98 + 0 / 2 = 0.49
P_weighted = 98×0.98 + 0×2 / 100 = 2/200 = 0.9604
得出结论:
对于类别不均衡的分类模型,采用macro方式会有较大的偏差,采用weighted方式则可较好反映模型的优劣,因为若类别数量较小则存在蒙对或蒙错的概率,其结果不能真实反映模型优劣,需要较大的样本数量才可计算较为准确的评价值,通过将样本数量作为权重,可理解为评价值的置信度,数量越多,其评价值越可信。
官方说明:average : string, [None, 'binary' (default), 'micro', 'macro', 'samples', \'weighted']This parameter is required for multiclass/multilabel targets.If ``None``, the scores for each class are returned. Otherwise, thisdetermines the type of averaging performed on the data:``'binary'``:Only report results for the class specified by ``pos_label``.This is applicable only if targets (``y_{true,pred}``) are binary.``'micro'``:Calculate metrics globally by counting the total true positives,false negatives and false positives.``'macro'``:Calculate metrics for each label, and find their unweightedmean. This does not take label imbalance into account.``'weighted'``:Calculate metrics for each label, and find their average weightedby support (the number of true instances for each label). Thisalters 'macro' to account for label imbalance; it can result in anF-score that is not between precision and recall.``'samples'``:Calculate metrics for each instance, and find their average (onlymeaningful for multilabel classification where this differs from:func:`accuracy_score`).
再给个链接给予参考:https://www.cnblogs.com/harvey888/p/6964741.html
【Python学习】 - sklearn学习 - 评估指标precision_score的参数说明相关推荐
- 如何绘制深度学习-目标检测评估指标P-R(precision-recall)曲线?如何计算AP(average-precision)?
参考文章:深度学习-目标检测评估指标P-R曲线.AP.mAP 文章目录 P-R曲线: AP计算: 下面通过具体例子说明. 首先用训练好的模型得到所有测试样本的confidence score,每一类( ...
- 【深度学习】——模型评估指标MAP计算实例计算
目录 一.知识储备 1.IOU--交集面积与并集面积之比 2.混淆矩阵(TP.FP.FN.TN) 问题1:上面的TP等具体是如何计算得到的? 3.精度precision&召回率recall 二 ...
- 深度学习各场景评估指标总结
下表总结了机器学习在常见场景下使用的评估指标: (PS:原文档包含截图,已上传到个人资源) 类别 场景 场景描述 应用场景 指标说明 图像 图像分类 识别一张图中是否是某类物体/状态/场景,适用于图 ...
- sklearn预测评估指标:混淆矩阵计算详解-附Python计算代码
目录 前言 混淆矩阵 python代码 前言 很多时候需要对自己模型进行性能评估,对于一些理论上面的知识我想基本不用说明太多,关于校验模型准确度的指标主要有混淆矩阵.准确率.精确率.召回率.F1 sc ...
- python之sklearn学习笔记
sklearn介绍 scikit-learn是数据挖掘与分析的简单而有效的工具. 依赖于NumPy, SciPy和matplotlib. 它主要包含以下几部分内容: 从功能来分: classifica ...
- 深度学习-目标检测评估指标P-R曲线、AP、mAP
基本概念 P-R曲线中,P为图中precision,即精准度,R为图中recall,即召回率. Example 下面通过具体例子说明. 首先用训练好的模型得到所有测试样本的confidence sc ...
- sklearn预测评估指标计算详解:准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1score
目录 前言 一.准确率 二.精确率 三.召回率 四.F1-score
- 机器学习Sklearn学习总结
Sklearn学习资料推荐: sklearn中文文档 机器学习入门必看:使用 scikit-learn 构建模型的通用模板 机器学习神器Scikit-Learn保姆教程! python机器学习_FF_ ...
- sklearn多分类准确率评估分类评估分类报告评估指标 案例
20211101 深思熟虑之后,研究团队确定了两种评估尺度:价格下降查全率(PDR)和预定反悔率(BR).我们曾统计过,某间房间是否在某天被预定出去,以及预定的价格是多少.PDR和BR都能反映出这一点 ...
最新文章
- 基于点云方式的6D姿态识别
- python【数据结构与算法】战争之城(分支限界法)
- 浅析图片XSS中的哪些技术问题
- 倒序排序_排序算法(六):Counting Sort 计数排序
- pythonista脚本合集_GitHub - xchenhao/You-are-Pythonista: 汇聚【Python应用】【Python实训】【Python技术分享】等等...
- ***redis linux 命令使用总结
- Java 8 函数式编程学习笔记
- mysql 多表查询 join on_MySQL多表查询Left Join,Right Join学习笔记
- CentOS安装scp命令
- CSS3 Flexbox布局那些事
- Android2.2缩略图类ThumbnailUtils
- Linux BT下载(7)-种子解析模块设计与实现1
- 一文带你搞定AOP切面
- office word ppt 无法打开, 一直处于安全模式,无法解除
- 求大神帮助,感激不尽
- 微服务分布式构架开发实战PDF,阿里架构师推荐,快快收藏吧
- 泰坦尼克号生存者预测(细节篇)
- 嵌入式:交换指令之SWP,MRS,MSR
- 内嵌html5,显示:内嵌HTML5元素
- HTML5基本元素使用
热门文章
- 关于SOAP的几篇文章
- [剑指offer][JAVA]面试题[第23题][合并K个排序链表][分治][优先队列]
- mysql创建表格1warning_MySQL:创建、修改和删除表
- oracle分区表扩分区 很慢,升级oracle10g 大分区表update变慢
- python3.6 websocket异步高并发_在Python3.6上的websocket客户端中侦听传入消息时出现问题...
- thincmf 分页无法搜索_thinkcmf5 后台搜索分页保持分页条件
- 如何去掉文章里的非关键词c++_B2B/B2C网站:文章标题如何写才能促进搜索排名...
- cout输出数组_让程序从1开始一直执行++操作,10秒钟能输出最大的数是多少
- linux消息框架,远程处理器消息框架 - 基于Linux 简化 AMP 配置使其更方便更动态地分配资源...
- C#中变量(成员变量、局部变量、全局变量)的作用域