F1是合适的指标吗?那么F2 F3…F_beta呢?

简介: F1是合适的指标吗?那么F2 F3…F_beta呢?

使用F1分数进行二元分类的度量是很常见的。这就是所谓的调和均值。然而,更通用的F_beta评分标准可能更好地评估模型性能。那么F2 F3和F_beta呢?在这篇文章中,我们将回顾F指标。

介绍

根据许多数据科学家的说法,最可靠的模型性能度量是准确率。但是确定的模型指标不只有一个,还有很多其他指标。例如,准确率可能很高,但是假阴性也很高。另一个关键度量是当今机器学习中常见的F指标,用于评估模型性能。它按比例结合了精度和召回率。在这篇文章中,我们探讨了建议两者不平衡的不同方法。


混淆矩阵,精度和召回

640.jpg

混淆矩阵总结了ML中有监督学习算法的性能。它比一般的精度度量提供了更详细的分析,因此更有益。在混淆矩阵中,每一行表示预测类中的实例,每一列表示实际类中的实例。简化后的混淆矩阵包含两行两列,如前所述,其中:

640.jpg

我们定义两个重要的度量:精度:TP样本的数量除以所有P样本(真和假),召回:TP样本的数量除以(TP+FN)。

640.jpg

由于这两项措施都具有高度的重要性,因此需要一项措施将两者结合起来。因此,提出了精度和召回的调和均值,也称为F1分数。

F1分数

计算方式如下:

640.jpg

F1分数的主要优点(同时也是缺点)是召回和精度同样重要。在许多应用程序中,情况并非如此,应该使用一些权重来打破这种平衡假设。这种平衡假设可能适用于数据分布不均匀的情况,如大量正负数据。

F2和F3分数

使用加权平均值,我们可以很容易地得到F2分数:

640.jpg

640.jpg

同样,F3得分为:

640.jpg

F_beta分数

推广加权平均法得到的F beta测度,由:

640.jpg

这种方法允许我们定义召回比精度重要多少。在sklearn中使用F beta度量非常简单,请查看以下例子:

>>>fromsklearn.metricsimportfbeta_score>>>y_true= [0, 1, 2, 0, 1, 2]
>>>y_pred= [0, 2, 1, 0, 0, 1]
>>>fbeta_score(y_true, y_pred, average='macro', beta=0.5)
0.23...
>>>fbeta_score(y_true, y_pred, average='micro', beta=0.5)
0.33...
>>>fbeta_score(y_true, y_pred, average='weighted', beta=0.5)
0.23...
>>>fbeta_score(y_true, y_pred, average=None, beta=0.5)
array([0.71..., 0.       , 0.       ])

总结

在这篇文章中,我回顾了F指标。我希望所提供的数据能够帮助那些处理分类任务的人,并帮助他们在使用准确性的同时使用F分数。

以下是·sklearn的文档,有兴趣的可以详细进行阅读:https://scikit-learn.org/stable/modules/generated/sklearn.metrics.fbeta_score.html?highlight=f%20beta#sklearn.metrics.fbeta_score

目录
相关文章
|
3月前
|
供应链
指标类需求问题之在指标开发阶段进行初步确认要如何操作
指标类需求问题之在指标开发阶段进行初步确认要如何操作
|
3月前
|
SQL 缓存 数据挖掘
数据平台问题之复合指标生成中维度能力如何处理
数据平台问题之复合指标生成中维度能力如何处理
|
6月前
|
敏捷开发 数据可视化 安全
测试度量指标
测试度量指标
|
机器学习/深度学习 人工智能 算法
强化学习从基础到进阶-案例与实践[5]:梯度策略、添加基线(baseline)、优势函数、动作分配合适的分数(credit)
强化学习从基础到进阶-案例与实践[5]:梯度策略、添加基线(baseline)、优势函数、动作分配合适的分数(credit)
强化学习从基础到进阶-案例与实践[5]:梯度策略、添加基线(baseline)、优势函数、动作分配合适的分数(credit)
|
XML 自然语言处理 运维
【大数据开发运维解决方案】Solr6.2默认相似性算法检索匹配得分高于5.1版本问题分析
我们之前使用的solr版本是solr5.1,分词器使用的是jcseg1.9.6,后续接触了Solr6.2,分词器使用的是jcseg2.6.0,发现同一个Oracle库的同一套表数据,分别使用solr5.1和solr6.2版本的模板collection配置集做相同的字段配置并成功做索引后,做相同查询,solr6.2检索文档score远高于solr5.1,下面是我们使用的两个solr环境以及另一个单机solr测试环境的基本情况:
【大数据开发运维解决方案】Solr6.2默认相似性算法检索匹配得分高于5.1版本问题分析
TEMS 模型 -- 衡量你的人生资源
TEMS 模型 -- 衡量你的人生资源
72 1
TEMS 模型 -- 衡量你的人生资源
|
缓存 监控 Kubernetes
MSE 风险分布管理功能发布(一)| 学习笔记
快速学习 MSE 风险分布管理功能发布。
MSE 风险分布管理功能发布(一)| 学习笔记
|
缓存 监控 网络协议
MSE 风险分布管理功能发布(二)| 学习笔记
快速学习 MSE 风险分布管理功能发布。
MSE 风险分布管理功能发布(二)| 学习笔记
|
机器学习/深度学习 缓存 JSON
快速入门DVC(六):指标跟踪、更新训练参数以及可视化模型表现
在上一篇文章快速入门DVC(五):数据流水线中,讲述了如何完成一个机器学习模型训练流水线,以及如何重现机器学习模型。本文接下来将讲述 DVC 如何进行模型指标跟踪、修改训练参数重新训练以及使用图表可视化模型表现。
|
Prometheus 监控 Cloud Native
3W字干货深入分析基于Micrometer和Prometheus实现度量和监控的方案(下)
最近线上的项目使用了spring-actuator做度量统计收集,使用Prometheus进行数据收集,Grafana进行数据展示,用于监控生成环境机器的性能指标和业务数据指标。一般,我们叫这样的操作为"埋点"。SpringBoot中的依赖spring-actuator中集成的度量统计API使用的框架是Micrometer,官网是micrometer.io。在实践中发现了业务开发者滥用了Micrometer的度量类型Counter,导致无论什么情况下都只使用计数统计的功能。这篇文章就是基于Micrometer分析其他的度量类型API的作用和适用场景。
610 0
3W字干货深入分析基于Micrometer和Prometheus实现度量和监控的方案(下)
下一篇
无影云桌面