当前位置: 首页 > news >正文

《sklearn机器学习——聚类性能指标》Fowlkes-Mallows 得分

Fowlkes-Mallows (FM) 得分是一种用于评估聚类算法性能的外部指标,它衡量的是聚类结果与某个参考模型(通常是真实标签)之间的一致性。该指标特别适用于需要将聚类结果与已知类别进行比较的场景。

Fowlkes-Mallows 得分简介

1. 核心思想

Fowlkes-Mallows 得分的核心思想是衡量两个数据点集合(在聚类中通常指聚类结果和真实标签)之间的一致性。它通过计算在两个集合中都被分到同一类的数据点对(pair of points)的比例来实现。

更具体地说,它关注的是:

  • 真阳性 (True Positive, TP): 在真实标签中属于同一类,且在聚类结果中也被分到同一类的数据点对的数量。
  • 假阳性 (False Positive, FP): 在真实标签中不属于同一类,但在聚类结果中被错误地分到同一类的数据点对的数量。
  • 假阴性 (False Negative, FN): 在真实标签中属于同一类,但在聚类结果中被错误地分到不同类的数据点对的数量。

2. 计算方法

FM 得分的计算依赖于一个2x2的列联表,该表统计了在参考标签和聚类结果中,样本对的分配情况:

聚类结果相同聚类结果不同
真实标签相同TPFN
真实标签不同FPTN

其中:

  • TP (True Positive): 在真实标签中属于同一类,并且在聚类结果中也被分到同一类的样本对数量。
  • FP (False Positive): 在真实标签中属于不同类,但在聚类结果中被错误地分到同一类的样本对数量。
  • FN (False Negative): 在真实标签中属于同一类,但在聚类结果中被错误地分到不同类的样本对数量。
  • TN (True Negative): 在真实标签中属于不同类,并且在聚类结果中也被分到不同类的样本对数量。

Fowlkes-Mallows 得分的计算公式为:

[ \text{FM} = \sqrt{\text{Precision} \times \text{Recall}} ]

其中:

  • Precision (精确率) = TP / (TP + FP):衡量聚类结果中,被分到同一簇的样本对在真实标签中也属于同一类的比例。
  • Recall (召回率) = TP / (TP + FN):衡量在真实标签中属于同一类的样本对,在聚类结果中也被正确分到同一簇的比例。

因此,FM 得分是精确率和召回率的几何平均数。

3. 特点

  1. 取值范围: FM 得分的取值范围在 [0, 1] 之间。

    • 1: 表示聚类结果与参考标签完全一致,是完美的聚类。
    • 0: 表示聚类结果与参考标签完全不一致。
    • 值越接近 1,说明聚类性能越好。
  2. 对簇数量不敏感: 与一些其他指标不同,FM 得分对聚类算法产生的簇的数量没有直接偏好。

  3. 基于成对比较: 它关注的是样本对的关系,而不是单个样本的分配,这使得它对标签的排列不敏感(即簇的标签名称不重要,重要的是样本的分组关系)。

  4. 外部指标: 它需要真实的类别标签作为参考,因此只能在有监督或半监督的评估场景中使用。

4. 与其他指标的关系

  • 与 Rand Index (RI) 的关系: FM 得分和 RI 都基于成对样本的比较。但 RI 是精确率和召回率的算术平均数(RI = (TP + TN) / Total Pairs),而 FM 是它们的几何平均数。FM 得分通常被认为对不平衡的聚类结果更稳健。
  • 与几何平均数: 使用几何平均数(而非算术平均数)可以更好地平衡精确率和召回率。如果其中一个值很低,即使另一个值很高,FM 得分也会被显著拉低,从而避免了只优化单一指标的倾向。

5.简单示例

from sklearn.metrics import fowlkes_mallows_score
import numpy as np# 真实标签 (ground truth labels)
true_labels = [0, 0, 1, 1, 2, 2]# 聚类结果 (clustering result)
cluster_labels = [0, 0, 1, 2, 1, 2]# 计算 Fowlkes-Mallows 得分
fm_score = fowlkes_mallows_score(true_labels, cluster_labels)print(f"Fowlkes-Mallows Score: {fm_score:.4f}")

输出结果

Fowlkes-Mallows Score: 0.4714

5. 总结

Fowlkes-Mallows 得分是一个直观且有效的聚类评估指标,尤其适用于需要与真实标签进行比较的场景。它通过计算精确率和召回率的几何平均数,综合反映了聚类结果在“不合并不同类”(高精确率)和“不拆分同类”(高召回率)两方面的能力。


文章转载自:

http://xpEPTIby.Lgnbr.cn
http://1jKHyIg1.Lgnbr.cn
http://S2f48Z5u.Lgnbr.cn
http://zZsV3Okp.Lgnbr.cn
http://mUNnLzAc.Lgnbr.cn
http://jYWfxDUD.Lgnbr.cn
http://l23CRfOA.Lgnbr.cn
http://uMB62XMj.Lgnbr.cn
http://9ysXFb9D.Lgnbr.cn
http://akAtTeoO.Lgnbr.cn
http://sZdFiCET.Lgnbr.cn
http://9W4dPx7f.Lgnbr.cn
http://b6z5YEcY.Lgnbr.cn
http://F3Ix8b44.Lgnbr.cn
http://DfEUzTt5.Lgnbr.cn
http://hpqetHS9.Lgnbr.cn
http://wLSMDmLw.Lgnbr.cn
http://K4fpmZm6.Lgnbr.cn
http://cuvFTl74.Lgnbr.cn
http://QnRN3YkX.Lgnbr.cn
http://aY9slifi.Lgnbr.cn
http://jmpMBilE.Lgnbr.cn
http://8cFz0xEr.Lgnbr.cn
http://mnYrkt01.Lgnbr.cn
http://A7um93fw.Lgnbr.cn
http://GDV8l2mO.Lgnbr.cn
http://vUSPGpdt.Lgnbr.cn
http://EOG9L7VH.Lgnbr.cn
http://Tfg8AmNb.Lgnbr.cn
http://pi0BupYy.Lgnbr.cn
http://www.dtcms.com/a/369967.html

相关文章:

  • STAR-CCM+|雷诺数回顾
  • 设计整体 的 序分(三“释”)、正宗分(双“门”)和流通分(统一的通行表达式) 之3 “自明性”(腾讯元宝 之2)
  • MySQL集群高可用架构之组复制 (MGR)
  • GPT-5发布:统一智能体时代的开启——从“工具”到“协作者”的范式跃迁
  • 【iOS】push 和 present
  • 大数据毕业设计选题推荐-基于大数据的宫颈癌风险因素分析与可视化系统-Spark-Hadoop-Bigdata
  • 【xss基本介绍】
  • 无需公网IP,电脑随时与异地飞牛同步互联保持数据一致性
  • HTML 列表类型
  • 怎么用 tauri 创建一个桌面应用程序(Electron)
  • Redis《RedisSerializer》
  • 云原生的12个要素是什么?
  • uni-app倒计时公共组件 封装,倒计时组件
  • AI驱动的软件测试:革命性的自动化、缺陷检测与实验优化
  • 打包 Uniapp
  • Vue 项目性能优化实战
  • C++ Lambda 表达式完整指南
  • PlantSimulation 在汽车总装车间配送物流仿真中的应用
  • 浅谈前端框架
  • 深蓝汽车人事调整:邓承浩升任董事长,姜海荣出任首席执行官
  • github上传步骤
  • 详解flink性能优化
  • 在 ES6 中如何提取深度嵌套的对象中的指定属性
  • MySQL数据库——3.2.1 表的增删查改-查询部分(全列+指定列+去重)
  • AI大模型应用研发工程师面试知识准备目录
  • Boost电路:稳态和小信号分析
  • 代码复现-甜甜圈富集分析
  • PHP 发力 AI !PHP 官方 MCP SDK 正式发布
  • 从0死磕全栈第五天:React 使用zustand实现To-Do List项目
  • 从0死磕全栈第3天:React useState 实战,用 TS 手搓一个注册表单