【机器学习 | 聚类】关于聚类最全评价方法大全,确定不收藏?

news2024/11/29 4:31:40

在这里插入图片描述

🤵‍♂️ 个人主页: @AI_magician
📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。
👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍
🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)

在这里插入图片描述

【深度学习 | 核心概念】那些深度学习路上必经的核心概念,确定不来看看? (一)
作者: 计算机魔术师
版本: 1.0 ( 2023.8.27 )

摘要: 本系列旨在普及那些深度学习路上必经的核心概念,文章内容都是博主用心学习收集所写,欢迎大家三联支持!本系列会一直更新,核心概念系列会一直更新!欢迎大家订阅

该文章收录专栏
[✨— 《深入解析机器学习:从原理到应用的全面指南》 —✨]

聚类详解

        • ARI评价法(兰德系数)
        • AMI评价法(互信息)
        • V-measure评分
        • FMI评价法
        • 轮廓系数评价法
        • Calinski-Harabasz指数评价法
        • 分类模型评价法

以下是常用的评价算法名称

方法名称真实值最佳值sklearn****函数
ARI评价法(兰德系数)需要1.0adjusted_rand_score
AMI评价法(互信息)需要1.0adjusted_mutual_info_score
V-measure评分需要1.0completeness_score
FMI评价法需要1.0fowlkes_mallows_score
轮廓系数评价法不需要畸变程度最大silhouette_score
Calinski-Harabasz指数评价法不需要相较最大calinski_harabaz_score
  • ARI评价法(兰德系数):ARI通过比较聚类结果和真实分类之间的成对样本相似性来衡量聚类的质量,其数值范围从-1到1,值越高表示聚类结果与真实分类越相似。

  • AMI评价法(互信息):AMI利用互信息的概念衡量聚类结果和真实分类之间的共享信息量,其数值范围也从0到1,值越高表示聚类结果越好。

  • V-measure评分:V-measure综合考虑了聚类结果的均一性和完整性,通过计算均一性和完整性的加权平均得到评分,数值范围也是从0到1。

  • FMI评价法:FMI通过比较聚类结果和真实分类中成对样本关系来评估聚类的相似度,数值范围从0到1,值越高表示聚类结果越好。

  • 轮廓系数评价法:轮廓系数结合了样本与其所属簇的平均距离和样本与其他簇的平均距离来度量聚类结果的紧密度和分离度,数值范围从-1到1。

  • Calinski-Harabasz指数评价法:Calinski-Harabasz指数通过计算簇内离差平方和和簇间离差平方和的比值来评估聚类结果的质量,数值越大表示聚类结果越好。

上表总共列出了6种评价的方法,其中前4种方法均需要真实值的配合才能够评价聚类算法的优劣,后2种则不需要真实值的配合。但是前4种方法评价的效果更具有说服力,并且在实际运行的过程中在有真实值做参考的情况下,聚类方法的评价可以等同于分类算法的评价

除了轮廓系数以外的评价方法,在不考虑业务场景的情况下都是得分越高,其效果越好,最高分值均为1。而轮廓系数则需要判断不同类别数目的情况下其轮廓系数的走势,寻找最优的聚类数目。

在具备真实值作为参考的情况下,几种方法均可以很好地评估聚类模型。在没有真实值作为参考的时候,轮廓系数评价方法和Calinski-Harabasz指数评价方法可以结合使用

ARI评价法(兰德系数)

ARI(Adjusted Rand Index,调整兰德指数)是一种用于衡量聚类结果与真实分类之间的相似度的评价方法。它通过比较聚类结果与真实分类之间的成对样本相似性来计算得分,范围从-1到1,其中1表示完全匹配,0表示随机匹配,-1表示完全不匹配。

ARI的计算公式如下:

A R I = ∑ i j ( n i j 2 ) − [ ∑ i ( a i 2 ) ∑ j ( b j 2 ) ] / ( n 2 ) 1 2 [ ∑ i ( a i 2 ) + ∑ j ( b j 2 ) ] − [ ∑ i ( a i 2 ) ∑ j ( b j 2 ) ] / ( n 2 ) ARI = \frac{{\sum_{ij} \binom{n_{ij}}{2} - [\sum_i \binom{a_i}{2} \sum_j \binom{b_j}{2}]/\binom{n}{2}}}{{\frac{1}{2} [\sum_i \binom{a_i}{2} + \sum_j \binom{b_j}{2}] - [\sum_i \binom{a_i}{2} \sum_j \binom{b_j}{2}]/\binom{n}{2}}} ARI=21[i(2ai)+j(2bj)][i(2ai)j(2bj)]/(2n)ij(2nij)[i(2ai)j(2bj)]/(2n)

其中, n n n是样本总数, n i j n_{ij} nij表示同时被聚类结果和真实分类划分为同一簇的样本对数量, a i a_i ai表示被聚类结果划分为第 i i i簇的样本数量, b j b_j bj表示被真实分类划分为第 j j j类的样本数量。

AMI评价法(互信息)

AMI(Adjusted Mutual Information,调整互信息)是一种用于评估聚类结果与真实分类之间的相似度的指标。它基于信息论中的互信息概念,度量聚类结果和真实分类之间的共享信息量。

AMI的计算公式如下:

A M I = I ( X ; Y ) − E [ I ( X ; Y ) ] max ⁡ ( H ( X ) , H ( Y ) ) − E [ I ( X ; Y ) ] AMI = \frac{I(X;Y) - E[I(X;Y)]}{\max(H(X), H(Y)) - E[I(X;Y)]} AMI=max(H(X),H(Y))E[I(X;Y)]I(X;Y)E[I(X;Y)]

其中, I ( X ; Y ) I(X;Y) I(X;Y)表示聚类结果和真实分类的互信息, H ( X ) H(X) H(X) H ( Y ) H(Y) H(Y)分别表示聚类结果和真实分类的熵, E [ I ( X ; Y ) ] E[I(X;Y)] E[I(X;Y)]是互信息的期望值,用于校正由于随机因素引起的误差。

V-measure评分

V-measure是一种用于评估聚类结果的均一性(homogeneity)和完整性(completeness)的综合指标。它结合了这两个度量以平衡聚类结果的质量。

V-measure的计算公式如下:

V = 2 × ( h × c ) ( h + c ) V = \frac{2 \times (h \times c)}{(h + c)} V=(h+c)2×(h×c)

其中, h h h表示聚类结果的均一性, c c c表示聚类结果的完整性。均一性和完整性的计算公式如下:

h = 1 − H ( C ∣ K ) H ( C ) h = 1 - \frac{H(C|K)}{H(C)} h=1H(C)H(CK)

c = 1 − H ( K ∣ C ) H ( K ) c = 1 - \frac{H(K|C)}{H(K)} c=1H(K)H(KC)

其中, H ( C ∣ K ) H(C|K) H(CK)表示给定聚类结果 K K K的条件熵, H ( C ) H(C) H(C)表示真实分类的熵, H ( K ∣ C ) H(K|C) H(KC)表示给定真实分类 C C C的条件熵, H ( K ) H(K) H(K)表示聚类结果的熵。

FMI评价法

FMI(Fowlkes-Mallows Index)是一种用于评估聚类结果与真实分类之间的相似度的指标。它通过比较聚类结果中的成对样本关系与真实分类中的成对样本关系来计算得分。

FMI的计算公式如下:

F M I = T P ( T P + F P ) ( T P + F N ) FMI = \frac{TP}{\sqrt{(TP + FP)(TP + FN)}} FMI=(TP+FP)(TP+FN) TP

其中, T P TP TP表示聚类结果和真实分类中成对样本被划分到同一簇的数量, F P FP FP表示聚类结果中被错误划分到同一簇的样本对数量, F N FN FN表示真实分类中被错误划分到同一簇的样本对数量。

轮廓系数评价法

轮廓系数(Silhouette Coefficient)是一种用于评估聚类结果的紧密度和分离度的指标。它结合了样本与其所属簇的平均距离和样本与其他簇的平均距离,用于衡量聚类结果的质量。

轮廓系数的计算公式如下:

s = b − a max ⁡ ( a , b ) s = \frac{b - a}{\max(a, b)} s=max(a,b)ba

其中, a a a表示样本与其所属簇的平均距离, b b b表示样本与其他簇的平均距离。对于每个样本,轮廓系数的取值范围在-1到1之间,值越接近1表示样本聚类得越好,值越接近-1表示样本更适合被划分到其他簇,值接近0表示样本在两个簇之间的边界。

Calinski-Harabasz指数评价法

Calinski-Harabasz指数是一种用于评估聚类结果的紧密度和分离度的指标。它基于簇内的离差平方和(Within-Cluster Sum of Squares,WCSS)和簇间的离差平方和(Between-Cluster Sum of Squares,BCSS),用于衡量聚类结果的质量。

Calinski-Harabasz指数的计算公式如下:

C H = BCSS / ( k − 1 ) WCSS / ( n − k ) CH = \frac{{\text{BCSS}/(k-1)}}{{\text{WCSS}/(n-k)}} CH=WCSS/(nk)BCSS/(k1)

其中, k k k表示簇的数量, n n n表示样本的总数。Calinski-Harabasz指数的值越大表示聚类结果的质量越好。

分类模型评价法

最后一种评价(evaluation)方法是分类(classification)。通过使用 k-means标签训练分类模型,然后在单独的数据子集中对其进行测试,我们可以看到分类器的表现良好,并不是完全任意的。说明学习效果良好,且存在可分类的特征。
在这里插入图片描述

						  🤞到这里,如果还有什么疑问🤞
					🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩
					 	 🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1254030.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

队列实现栈VS栈实现队列

目录 【1】用队列实现栈 思路分析 ​ 易错总结 Queue.c&Queue.h手撕队列 声明栈MyStack 创建&初始化栈myStackCreate 压栈myStackPush 出栈&返回栈顶元素myStackPop 返回栈顶元素myStackTop 判断栈空否myStackEmpty 释放空间myStackFree MyStack总代码…

【LeetCode:828. 统计子串中的唯一字符 | 贡献法 乘法原理】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

YOLOv5小目标检测层

目录 一、原理 二、yaml配置文件 一、原理 小目标检测层,就是增加一个检测头,增加一层锚框,用来检测输入图像中像素较小的目标 二、yaml配置文件 # YOLOv5 🚀 by Ultralytics, GPL-3.0 license# Parameters nc: 3 # number of classes depth_multiple: 0.33 # model…

Matplotlib网格子图_Python数据分析与可视化

Matplotlib网格子图 plt.subplot()绘制子图调整子图之间的间隔plt.subplots创建网格 plt.subplot()绘制子图 若干彼此对齐的行列子图是常见的可视化任务,matplotlib拥有一些可以轻松创建它们的简便方法。最底层且最常用的方法是plt.subplot()。 这个函数在一个网格…

RocketMq 队列(MessageQueue)

RocketMq是阿里出品(基于MetaQ)的开源中间件,已捐赠给Apache基金会并成为Apache的顶级项目。基于java语言实现,十万级数据吞吐量,ms级处理速度,分布式架构,功能强大,扩展性强。 官方…

C++二分查找:统计点对的数目

本题其它解法 C双指针算法:统计点对的数目 本周推荐阅读 C二分算法:得到子序列的最少操作次数 本文涉及的基础知识点 二分查找算法合集 题目 给你一个无向图,无向图由整数 n ,表示图中节点的数目,和 edges 组成…

赢麻了!义乌一个村有5000个网红,有人年收租就300万!

#义乌一村电商年成交额超300亿# ,在中国,电商行业的发展可谓是日新月异,而位于浙江省义乌市的江北下朱村,正是这股潮流的一个典型代表。这个村子,处处弥漫着“直播”的气息,仿佛每个人都在为这个新兴行业助力。 江北下…

openEuler Linux 部署 FineBi

openEuler Linux 部署 FineBi 部署环境 环境版本openEuler Linux22.03MySQL8.0.35JDK1.8FineBi6.0 环境准备 升级系统内核和软件 yum -y updatereboot安装常用工具软件 yum -y install vim tar net-tools 安装MySQL8 将 MySQL Yum 存储库添加到系统的存储库列表中 sudo…

【anaconda】numpy.dot 向量点乘小技巧

假设向量A[1,1], 向量B[2,3]。如果想知道他们的内积就可以输入如下代码: 当然,如果是两个列向量相乘,肯定是不对的 但是如果没有维度也一样可以求得内积,而且结果不会套在列表里

自驾游汽车托运是交智商税吗?

自驾游汽车托运是交智商税吗? 亲爱的小伙伴们 你们有没有遇到过这样的困扰: 自驾游时,车辆的运输问题让你头疼不已? 是选择自己驾驶还是托运呢? 今天,我就来给大家种草一下汽车托运的好处, 让你的自驾游之旅更加轻松愉快! 1️.…

适用于 Mac 和 Windows 的顶级U 盘数据恢复软件

由于意外删除或设备故障而丢失 USB 驱动器中的数据始终是一件令人压力很大的事情,检索该信息的最佳选择是使用优质数据恢复软件。为了让事情变得更容易,我们已经为您完成了所有研究并测试了工具,并且我们列出了最好的 USB 记忆棒恢复软件&…

计算机编程基础教程,中文编程工具下载,编程构件组合按钮

计算机编程基础教程,中文编程工具下载,编程构件组合按钮 给大家分享一款中文编程工具,零基础轻松学编程,不需英语基础,编程工具可下载。 这款工具不但可以连接部分硬件,而且可以开发大型的软件&#xff0c…

Java中的泛型是什么?如何使用泛型类和泛型方法?

Java 中的泛型是一种编程机制,允许你编写可以与多种数据类型一起工作的代码,同时提供编译时类型检查以确保类型的安全性。泛型的主要目的是提高代码的可重用性、类型安全性和程序的整体性能。 泛型类(Generic Class): 在泛型类中…

均匀球形分布的随机三维单位向量

生成具有均匀球形分布的随机三维单位向量[参考] import numpy as np import matplotlib.pyplot as plt def random_three_vector():"""Generates a random 3D unit vector (direction) with a uniform spherical distributionAlgo from http://stackoverflow.c…

NeoPreference延伸:为SharedPreferences配置项生成配置页面

代码地址:https://github.com/Nagi1225/NeoPreference.git 最初在开发NeoPreference这个SharedPreferences工具的时候,就期望完成三个目标: 代码简洁,新增配置项的时候一行代码(最多两行);读写…

顶级安卓数据恢复工具—— 15 个 Android 数据恢复程序榜单

探索并比较顶级 Android 数据恢复软件,并选择最好的 Android 恢复应用程序来恢复您的宝贵数据: 特别是您的智能手机或 Android 设备可以完成许多繁重的工作,其中最有用的是存储数据。Android 设备可以伪装成照片、视频、电子邮件甚至敏感商业…

YOLOv5轻量化改进之MobileNetv3

目录 一、原理 二、代码 三、应用到YOLOv5 一、原理 我们提出了基于互补搜索技术和新颖架构设计相结合的下一代mobilenet。MobileNetV3通过硬件网络架构搜索(NAS)和NetAdapt算法的结合来调整到移动电话cpu,然后通过新的架构进步进行改进。本文开始探索自动搜索算法和网络设计…

图片处理工具JixiPix Pastello mac中文版功能特色

JixiPix Pastello mac是一款数字绘画软件,它可以将照片转换为仿佛是手绘的油画、粉笔画、素描等风格的艺术作品。该软件提供了多种绘画效果和工具,例如颜料、画笔、纸张等,让用户可以轻松地调整画作的亮度、色彩和细节等参数,从而…

访谈 破风之人毛京波,选择难而正确的路

“无论是在燃油时代还是电动时代,我们所做的一切,只为回归纯粹的驾驶乐趣。”履新路特斯中国总裁整整一年的毛京波,从不放过任何一个展示路特斯品牌驾驭精神的机会。 11月17日,广州车展开幕首日,位于5.2馆的路特斯“冠…

flex布局实战之自动填充剩余

案例目标 文字部分自适应并且居中 图中是一个弹窗&#xff0c;我现在使用flex的布局来实现&#xff0c;标题和关闭按钮。因为是uni-app,所以标签是view 。你可以自行替换为 代码 <view class"popup-box"><view class"title"><view class&…