【Sklearn驯化-聚类指标】搞懂机器学习中聚类算法评估指标,轮廓系数、戴维森堡丁指数

【Sklearn驯化-聚类指标】搞懂机器学习中聚类算法评估指标,轮廓系数、戴维森堡丁指数
 
本次修炼方法请往下查看
在这里插入图片描述

🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地!
🎇 免费获取相关内容文档关注:微信公众号,发送 pandas 即可获取
🎇 相关内容视频讲解 B站

🎓 博主简介:AI算法驯化师,混迹多个大厂搜索、推荐、广告、数据分析、数据挖掘岗位 个人申请专利40+,熟练掌握机器、深度学习等各类应用算法原理和项目实战经验

🔧 技术专长: 在机器学习、搜索、广告、推荐、CV、NLP、多模态、数据分析等算法相关领域有丰富的项目实战经验。已累计为求职、科研、学习等需求提供近千次有偿|无偿定制化服务,助力多位小伙伴在学习、求职、工作上少走弯路、提高效率,近一年好评率100%

📝 博客风采: 积极分享关于机器学习、深度学习、数据分析、NLP、PyTorch、Python、Linux、工作、项目总结相关的实用内容。

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

🌵文章目录🌵

    • 🎯 1. 基本介绍
    • 💡 2. 公式推导
      • 2.1 轮廓系数(Silhouette Coefficient)
      • 2.2 戴维森堡丁指数(Davies-Bouldin Index)
    • 🔍 3. 代码实践
      • 3.1 数据生成
      • 3.2 训练聚类模型
      • 3.3 计算轮廓系数
      • 3.4 计算戴维森堡丁指数
    • 🔍 4. 注意事项
    • 🔍 5. 总结

下滑查看解决方法

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

  

🎯 1. 基本介绍

  聚类作为无监督学习的核心任务之一,旨在将数据集中的样本划分为若干个簇,使得簇内的样本相似度高,簇间的样本相似度低。然而,由于缺乏真实标签,聚类效果的评估成为一个挑战。scikit-learn(简称sklearn)提供了多种聚类指标来量化聚类效果。

💡 2. 公式推导

2.1 轮廓系数(Silhouette Coefficient)

  轮廓系数是衡量样本与簇内样本和簇间样本距离的指标。对于每个样本i,轮廓系数计算公式为:
s ( i ) = b ( i ) − a ( i ) m a x ( a ( i ) , b ( i ) ) s(i)=\frac{b(i)-a(i)}{max(a(i), b(i))} s(i)=max(a(i),b(i))b(i)a(i)
  其中:

  • a(i)是样本i与同一簇内其他样本的平均距离。
  • b(i)是样本i与最近簇内样本的平均距离。
  • 轮廓系数的范围从-1到1,接近1表示聚类效果好,0表示样本可能位于两个簇的边界上,-1表示聚类错误。

2.2 戴维森堡丁指数(Davies-Bouldin Index)

  戴维森堡丁指数衡量簇内距离和簇间距离的比率。对于所有簇,戴维森堡丁指数计算公式为:
B = 1 c ∑ = 1 c m a x i ! = j ( s i + s j d i j ) B=\frac{1}{c}\sum_{=1}^{c}max_{i!=j}(\frac{s_i+s_j}{d_{ij}}) B=c1=1cmaxi!=j(dijsi+sj)

  • 其中:
  • c是簇的数量。
  • s_i和s_j分别是第i个和第j个簇的簇内距离(方差)。
  • d_ij是簇i和簇j的中心之间的距离。
  • DB指数越低表示聚类效果越好。

🔍 3. 代码实践

3.1 数据生成

   为了更佳直观的掌握聚类算法中各个指标的原理和具体用法,我们构建简单的数据,对其进行实践,具体数据生成的代码如下所示:

from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score, davies_bouldin_score

# 生成模拟数据
X, _ = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=0)

3.2 训练聚类模型

   我们以kmeans聚类算法为例,对其进行效果的评估,下面为训练聚类算法的代码过程,具体如下所示:

# 使用KMeans算法进行聚类
kmeans = KMeans(n_clusters=4)
kmeans.fit(X)

3.3 计算轮廓系数

  下面我们对聚类算法通过上述的两个指标进行评估,以此来判断聚类算法的好坏,具体的代码如下所示:

# 计算轮廓系数
silhouette_avg = silhouette_score(X, kmeans.labels_)
print(f"轮廓系数: {silhouette_avg:.2f}")

3.4 计算戴维森堡丁指数

  下面我们对聚类算法通过上述的两个指标进行评估,以此来判断聚类算法的好坏,具体的代码如下所示:

# 计算戴维森堡丁指数
db_score = davies_bouldin_score(X, kmeans.labels_)
print(f"戴维森堡丁指数: {db_score:.2f}")

  

🔍 4. 注意事项

  • 聚类指标依赖于簇的数量和数据分布,需要根据具体问题选择合适的簇数量。
  • 轮廓系数对簇形状和大小敏感,可能不适用于非球形簇。
  • 戴维森堡丁指数在簇大小差异较大时可能不太准确。

🔍 5. 总结

  聚类指标是评估聚类效果的重要工具。在sklearn中,我们可以使用轮廓系数和戴维森堡丁指数等指标来量化聚类的性能。通过理解这些指标的计算方法和适用场景,我们可以更好地评估和优化聚类模型。希望这篇博客能帮助你更深入地理解sklearn中的聚类指标,并将其应用于实际的数据分析和聚类任务中

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OnlyOffice测评

官方链接: https://www.onlyoffice.com/zh/office-suite.aspx https://www.onlyoffice.com/zh/pdf-editor.aspx OnlyOffice:引领办公效率的新标杆 在数字化时代的浪潮中,办公软件已经成为我们日常工作中不可或缺的一部分。然而,…

马斯克的SpaceX星舰有多牛?我们离殖民火星还有多远?

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 埃隆马斯克是一位知名的企业家和工程师,他掌握着多家公司,涉及多个领域,包括电动汽车、太空探索、太阳能、脑…

入门JavaWeb之 Response 下载文件

web 服务器接收到客户端的 http 请求 针对这个请求,分别创建一个代表请求的 HttpServletRequest 对象,代表响应的 HttpServletResponse 对象 获取客户端请求过来的参数:HttpServletRequest 给客户端响应一些信息:HttpServletRe…

【LeetCode】五、哈希表相关:统计重复元素 + 找不同

文章目录 1、哈希表结构2、Java中的哈希表3、leetcode217:统计重复元素4、leetcode389:找不同5、leetcode496:下一个更大元素 1、哈希表结构 又叫散列表,存键值对,将key用哈希函数转为数组下标索引 当两个不同的key经…

多功能气象传感器的工作原理

TH-WQX9多功能气象传感器是一种集成了多种传感器技术的气象观测装置,旨在同时测量和监测大气中的多个气象要素,以提供全面、准确的气象信息。以下是关于多功能气象传感器的详细介绍: 技术原理 多功能气象传感器采用多种传感器技术相结合&…

[C++][设计模式][原型模式]详细讲解

1.动机 在软件系统中,经常面临这“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是它们却拥有比较稳定一致的接口如何应对这种变化?如何向“客户程序(使用这些对象的程序)”隔离出…

【FFmpeg】avformat_alloc_output_context2函数

【FFmpeg】avformat_alloc_output_context2函数 1.avformat_alloc_output_context21.1 初始化AVFormatContext(avformat_alloc_context)1.2 格式猜测(av_guess_format)1.2.1 遍历可用的fmt(av_muxer_iterate&#xff0…

正版软件 | DupInOut Duplicate Finder:智能清理,让数据井然有序

在信息爆炸的时代,我们经常面临数据管理的挑战。DupInOut Duplicate Finder 是一款专为Windows 设计的重复文件查找工具,帮您快速识别并删除重复的文档、音乐、视频和照片,让您的计算环境更加清洁、有序。 精准查找,一键删除 DupI…

DM达梦数据库转换、条件函数整理

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

硬件开发笔记(二十二):AD21软件中创建元器件AXK5F80337YG原理图库、封装库和3D模型

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/140007117 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…

怎么扫描图片变成pdf格式?办公人士值得收藏的宝藏工具

将图片扫描并转换为PDF格式可以通过多种途径实现,无论是使用专业的扫描仪还是智能手机,都有相应的方法。 PDF 是什么? PDF,全称为 Portable Document Format(便携式文档格式),是由Adobe System…

使用宝塔安装ModstartCMS (非一键安装)

操作系统 Linux Windows 推荐 Linux 操作系统,性能比较好 软件环境 稳定版 PHP 5.6 PHP 7.0 MySQL >5.0 PHP Extension:Fileinfo Apache/Nginx Laravel 9.0 版本 PHP 8.1 MySQL >5.0 PHP Extension:Fileinfo Apache/Ngin…

DLS策略洞察:如何应对AI数据中心网络交换机市场的爆发式增长?

摘要: 随着AI技术的发展和应用,AI数据中心对网络交换机的需求日益增加。摩根士丹利预计,2023-2026年间,AI数据中心网络交换机的收入复合年增长率(CAGR)将达到55%。本文将详细分析AI数据中心网络交换机市场…

Springboot + Mybatis-Plus代码生成指南

使用 Spring Boot 和 MyBatis-Plus 生成代码&#xff0c;可以大大简化开发流程&#xff0c;可以保持编码的规范性&#xff0c;生成单元测试等。以下是详细步骤&#xff1a; 配置pom.xml <dependency><groupId>com.baomidou</groupId><artifactId>myb…

Arcgis 计算经纬度坐标并补齐6位小数

工作中我们经常需要在Arcgis中计算点的经纬度或者线的起点、终点坐标&#xff0c;为确保数据的准确性&#xff0c;我们必须保留6位小数&#xff0c;但我们在默认计算的时候偶尔会遇到算出来的经纬度坐标小数位不足6位&#xff0c;那我们应该如何补齐呢&#xff0c;这里我将方法…

如何不改变 PostgreSQL 列类型#PG培训

开发应用程序并在其背后操作数据库集群时&#xff0c;会遇到一个意想不到的问题是实践与理论、开发环境与生产之间的差异。这种不匹配的一个完美例子就是更改列类型。 #PG考试#postgresql培训#postgresql考试#postgresql认证 关于如何在 PostgreSQL&#xff08;以及其他符合 SQ…

Hugo Barra对Apple Vision Pro 硬件和软件的详细评述

原文&#xff1a;hugo.blog/2024/03/11/vision-pro 这篇文章的作者是Hugo Barra。Hugo Barra曾是Meta公司&#xff08;前身为Facebook&#xff09;旗下Oculus VR/AR团队的负责人。他在2017年至2020年期间领导了Oculus的团队&#xff0c;参与了多个VR头显的开发和发布。Hugo Bar…

MySQL详细介绍:开源关系数据库管理系统的魅力

学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把手教你开发炫酷的vbs脚本制作(完善中……&#xff09; 4、牛逼哄哄的 IDEA编程利器技巧(编写中……&#xff09; 5、面经吐血整理的 面试技…

未来20年人工智能将如何塑造社会

照片由Brian McGowan在Unsplash上拍摄 更多资讯&#xff0c;请访问 2img.ai “人工智能会成为我们的救星还是我们的末日&#xff1f;” 几十年来&#xff0c;这个问题一直困扰着哲学家、科学家和科幻爱好者。 当我们踏上技术革命的边缘时&#xff0c;是时候透过水晶球&#x…

从0开始编写VS1053音频解码芯片的底层驱动代码(适用于任何单片机)

VS1053是一个高性能的音频解码器芯片,它是干什么的? 他有两个功能:()用来解码音频文件播放音乐的。(2)将麦克风听到的声音编码成音频文件数据,配合单片机可以保存到SD卡。 单片机加上一个VS1053就可以轻松做一个音乐播放器、一个录音机 等项目。 VS1053支持两种协议:…