多分类评价指标python代码
from sklearn.metrics import precision_score,recall_score
print (precision_score(y_true, y_scores,average='micro'))
average:string,[None,'binary'(默认),'micro','macro','samples','weighted']
该参数对于多类/多标签目标是必需的。如果
None,返回每个班级的分数。否则,这将确定对数据执行的平均类型:
'binary':只报告指定的类的结果
pos_label。这仅适用于targets(y_{true,pred})是二进制的。'micro':通过计算总真阳性数,假阴性数和假阳性数来计算全球指标。
'macro':计算每个标签的指标,并找到它们的未加权平均值。这不考虑标签不平衡。
'weighted':计算每个标签的度量标准,并根据支持度(每个标签的真实实例数量)查找它们的平均值。这改变了“宏观”来解决标签不平衡; 它可能会导致不在精度和召回之间的F分数。
'samples':计算每个实例的度量标准,并找到它们的平均值(对于不同于此的多标签分类仅有意义
accuracy_score)。
sklearn.metrics模块实现了一些loss, score以及一些工具函数来计算分类性能。一些metrics可能需要正例、置信度、或二分决策值的的概率估计。大多数实现允许每个sample提供一个对整体score来说带权重的分布,通过sample_weight参数完成。
一些二分类(binary classification)使用的case:
- matthews_corrcoef(y_true, y_pred)
- precision_recall_curve(y_true, probas_pred)
- roc_curve(y_true, y_score[, pos_label, …])
一些多分类(multiclass)使用的case:
- confusion_matrix(y_true, y_pred[, labels])
- hinge_loss(y_true, pred_decision[, labels, …])
一些多标签(multilabel)的case:
- accuracy_score(y_true, y_pred[, normalize, …])
- classification_report(y_true, y_pred[, …])
- f1_score(y_true, y_pred[, labels, …])
- fbeta_score(y_true, y_pred, beta[, labels, …])
- hamming_loss(y_true, y_pred[, classes])
- jaccard_similarity_score(y_true, y_pred[, …])
- log_loss(y_true, y_pred[, eps, normalize, …])
- precision_recall_fscore_support(y_true, y_pred)
- precision_score(y_true, y_pred[, labels, …])
- recall_score(y_true, y_pred[, labels, …])
- zero_one_loss(y_true, y_pred[, normalize, …])
还有一些可以同时用于二标签和多标签(不是多分类)问题:
- average_precision_score(y_true, y_score[, …])
- roc_auc_score(y_true, y_score[, average, …])
多分类评价指标python代码的更多相关文章
- 机器学习实战之朴素贝叶斯进行文档分类(Python 代码版)
贝叶斯是搞概率论的.学术圈上有个贝叶斯学派.看起来吊吊的.关于贝叶斯是个啥网上有很多资料.想必读者基本都明了.我这里只简单概括下:贝叶斯分类其实就是基于先验概率的基础上的一种分类法,核心公式就是条件概 ...
- scikit learn 模块 调参 pipeline+girdsearch 数据举例:文档分类 (python代码)
scikit learn 模块 调参 pipeline+girdsearch 数据举例:文档分类数据集 fetch_20newsgroups #-*- coding: UTF-8 -*- import ...
- KNN分类算法及python代码实现
KNN分类算法(先验数据中就有类别之分,未知的数据会被归类为之前类别中的某一类!) 1.KNN介绍 K最近邻(k-Nearest Neighbor,KNN)分类算法是最简单的机器学习算法. 机器学习, ...
- 编程语言分类,Python代码执行,应用程序使用文件的三步骤,变量,常量,垃圾回收机制
编程语言分为 机器语言(直接用二进制01跟计算机直接沟通交流,直接操作硬件) 优点:计算机能够直接读懂,速度快 缺点:开发效率极低 汇编语言(用简单的英文标签来表示二进制数,直接操作硬件) 优点:开发 ...
- python实现多分类评价指标
1.什么是多分类? 参考:https://www.jianshu.com/p/9332fcfbd197 针对多类问题的分类中,具体讲有两种,即multiclass classification和mul ...
- python 代码检测工具
对于我这种习惯了 Java 这种编译型语言,在使用 Python 这种动态语言的时候,发现错误经常只能在执行的时候发现,总感觉有点不放心. 而且有一些错误由于隐藏的比较深,只有特定逻辑才会触发,往往导 ...
- KNN算法原理(python代码实现)
kNN(k-nearest neighbor algorithm)算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性 ...
- 决策树原理实例(python代码实现)
决策数(Decision Tree)在机器学习中也是比较常见的一种算法,属于监督学习中的一种.看字面意思应该也比较容易理解,相比其他算法比如支持向量机(SVM)或神经网络,似乎决策树感觉“亲切”许多. ...
- catboost原理以及Python代码
原论文: http://learningsys.org/nips17/assets/papers/paper_11.pdf catboost原理: One-hot编码可以在预处理阶段或在训练期间 ...
随机推荐
- [Java学习]面向对象-package;内部类;UML图表示六种关系
package 软件包 类名前加入命名空间(包),解决命名冲突问题. 定义格式:公司域名倒叙.项目名.模块名; package语句写在文件第一行 使用import语句导入package java.la ...
- f5创建monitor
- 项目总结08:spring quartz 定时器Demo
将定时器用到的quartz.jar放在lip文件下 quartz.xml文件(完整) <?xml version="1.0" encoding="UTF-8&quo ...
- 关于gcc、make和CMake的区别
CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多.CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要 ...
- Practice 10
通过关键字extends来创建一个类的子类.一个类通过关键字implements声明自己使用一个或者多个接口. settext是根据数组新建的pets[1]object来的,对其调用抽象方法talk, ...
- cocoapods 更新本地仓库 pod setup/update 无限远程中断
升级 cocoapods 无限远程中断:网络不好 试了很多解决方法: 1.替换源,2.设置下载速度,3.清空本地master仓库,4.删了本地的pod库,5.半夜3-5点更新,6.按照失败提示的 (p ...
- Java通过遍历sessionId获取服务器所有会话session
Servlet2.1之后不支持SessionContext里面getSession(String id)方法,也不存在遍历所有会话Session的方法.但是,我们可以通过HttpSessionList ...
- Tomcat配置远程调试端口(windows、Linux)
当我们需要定位生产环境问题,而日志又不清晰的情况下,我们可以借助Tomcat提供的远程调试,设置如下: // Linxu系统: apach/bin/startup.sh开始处中增加如下内容: decl ...
- springmvc入门(1)
一..springmvc框架 1.什么是springmvc springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合.springmvc是一个基于mv ...
- 微信小程序模板中使用循环
原创文章 本篇介绍如何在模板里使用循环. 方法一: template.wxml,该文件内容为: <template name="msgItem1"> <block ...