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天前
|
JSON 数据可视化 测试技术
性能测试之Artillery(示例及指标)
性能测试之Artillery(示例及指标)
18 2
|
3天前
|
敏捷开发 数据可视化 安全
测试度量指标
测试度量指标
|
3天前
|
敏捷开发 自然语言处理 数据可视化
敏捷测试度量指标
敏捷测试度量指标
|
9月前
|
机器学习/深度学习 计算机视觉 数据可视化
YOLOv5改进系列(0)——重要性能指标、训练结果评价及分析、影响mAP指标的因素、优化mAP的方法
YOLOv5改进系列(0)——重要性能指标、训练结果评价及分析、影响mAP指标的因素、优化mAP的方法
4287 0
YOLOv5改进系列(0)——重要性能指标、训练结果评价及分析、影响mAP指标的因素、优化mAP的方法
|
9月前
|
机器人 API 区块链
Pionex派网量化网格交易机器人开发策略部署[源码执行规则示例]
Pionex派网量化网格交易机器人开发策略部署[源码执行规则示例]
|
缓存 监控 网络协议
MSE 风险分布管理功能发布(二)| 学习笔记
快速学习 MSE 风险分布管理功能发布。
189 0
MSE 风险分布管理功能发布(二)| 学习笔记
|
缓存 监控 Kubernetes
MSE 风险分布管理功能发布(一)| 学习笔记
快速学习 MSE 风险分布管理功能发布。
215 0
MSE 风险分布管理功能发布(一)| 学习笔记
|
机器学习/深度学习 人工智能 BI
beta分布 | 学习笔记
快速学习 beta 分布
188 0
beta分布 | 学习笔记
|
机器学习/深度学习 监控 安全
监控模型在监控模型在生产环境的性能(Arize)
随着机器学习基础设施的成熟,对模型监控的需求激增。不幸的是,这种不断增长的需求并没有形成一个万无一失的剧本,向团队解释如何来衡量模型的性能。
|
机器学习/深度学习 缓存 JSON
快速入门DVC(六):指标跟踪、更新训练参数以及可视化模型表现
在上一篇文章快速入门DVC(五):数据流水线中,讲述了如何完成一个机器学习模型训练流水线,以及如何重现机器学习模型。本文接下来将讲述 DVC 如何进行模型指标跟踪、修改训练参数重新训练以及使用图表可视化模型表现。