【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.mzph.cn/web/35177.shtml

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

相关文章

快来看,错过了今天就要设置为vip文章了---云原生重塑架构:AutoMQ 基于云构建十倍降本的 Kafka

Apache Kafka在数据流处理系统中的核心地位 Apache Kafka已成为大数据和流计算领域的行业事实标准,其重要性在数据流处理系统中不言而喻。随着数字化转型的加速,越来越多的企业选择基于Kafka来构建其在线业务消息传递系统,使其成为数字化转型…

一文梳理有效提升RAG效果的方法

来源:一文梳理有效提升RAG效果的方法 在大模型实际落地的时候,存在一些问题,主要集中在以下方面: 缺少垂直领域知识:虽然大模型压缩了大量的人类知识,但在垂直场景上明显存在短板,需要专业化的…

如何通过小猪APP分发轻松实现应用内测分发

搞应用开发的朋友们,都知道内测分发这个环节有多重要。没有内测,一款应用基本上是不可能上线的。毕竟,谁也不想自己的产品在上线的那一刻就被用户吐槽得体无完肤。内测分发的好坏,直接影响到应用的质量和用户的第一印象。如何才能…

Web自动化元素定位之xpath定位【超详细】

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 Web自动化常见的定位方式 为什么要学习定位 1.让程序操作指定元素,就必须先找到此元…

Linux文件IO深入剖析

目录 一、文件IO引发的项目血案 1、分析 一、Linux文件系统基本概念 1、文件系统接口 2、文件系统缓存 二、文件IO 访问方式概述 1、标准文件访问方式 2、直接IO 3、实现方式 4、缓存同步 5、Linux 文件IO流程图 6、血案解决 一、文件IO引发的项目血案 事件经过&am…

MTK平台Android13实现三方launcher为默认

一、前言 目前有遇到客户的定制需求,希望使用三方的launcher作为默认的launcher使用,一般情况下直接将三方launcher通过内置到系统并通过overlay机制即可很方便的实现launcher的替换,但是存在一个问题,需要增加ROM的维护成本。本文通过设备在使用前联网通过后台下发三方lau…

Potato(土豆)一款轻量级的开源文本标注工具

项目介绍: Potato 是一款轻量级、可移植的Web文本标注工具,被EMNLP 2022 DEMO赛道接受。它旨在帮助用户快速地从零开始创建和部署各种文本标注任务,无需复杂的编程或网页设计。只需简单配置,团队即可在几分钟内启动并运行标注项目…

【论文速读】| LLAMAFUZZ:大语言模型增强的灰盒模糊测试

本次分享论文:LLAMAFUZZ: Large Language Model Enhanced Greybox Fuzzing 基本信息 原文作者:Hongxiang Zhang, Yuyang Rong, Yifeng He, Hao Chen 作者单位:University of California, Davis 关键词:模糊测试,大…

云动态摘要 2024-06-27

给您带来云厂商的最新动态,最新产品资讯和最新优惠更新。 最新产品更新 veLinux 2.0 镜像邀测发布 火山引擎 2024-06-26 veLinux 2.0 镜像邀测发布 ECS支持100台实例批量续费/退订 火山引擎 2024-06-26 ECS支持100台实例批量续费/退订 弹性伸缩支持目标追踪规则(邀测) …

花8000元去培训机构学习网络安全值得吗,学成后就业前景如何?

我就是从培训机构学的网络安全,线下五六个月,当时学费不到一万,目前已成功入行。所以,只要你下决心要入这一行,过程中能好好学,那这8000就花得值~ 因为只要学得好,工作两个多月就能赚回学费&am…

Shell (一)Ubuntu的网络配置及软件安装

Ubuntu的配置及软件安装 网络配置 虚拟机提供的网络类型 桥接模式 主机和虚拟机分别拥有不同的ip地址,可以实现和外界设备通信 NAT模式 也可以联网,但是和主机共用同一个ip地址,外界无法识别虚拟机和主机发送的信息 仅主机模式 虚拟机不可…

数据资产与人工智能的融合之路:探讨如何结合AI技术优化数据资产管理,提升企业智能化水平

目录 一、引言 二、数据资产管理的现状与挑战 1、数据资产管理的重要性 2、数据资产管理的挑战 三、人工智能在数据资产管理中的应用 1、数据采集与整合 2、数据清洗与校验 3、数据安全与隐私保护 4、数据分析与挖掘 四、结合AI技术优化数据资产管理的策略 1、制定数…

【stm32-新建工程-HAL库版本】

stm32-新建工程-HAL库版本 ■ 1. 下载STM32Cube官方固件包(F1/F4/F7/H7)■ 2. 新建HAL库版本MDK工程所需的文件夹■ 2.1 新建工程文件- XXX项目并在下面新建如下文件夹■ 2.2 向Drivers文件添加如下文件■ 2.3 向Mrddlewares文件添加文件■ 2.4 设置Outp…

一篇文章带你玩懂数据库的基础函数

数据库的函数 单行函数1.数据函数2.字符串函数3.时间函数4.流程函数 多行函数聚合函数 阅读指南: 本文章讲述了对于数据库的单行和多行函数,如果读者感兴趣,后续我们会更新高级的操作在我们的对于数据库教程的合集中,大家可以来很…

唐兴通:银行金融数字化转型营销客户销售个金对公讲师培训师

唐兴通 数字化转型顾问、金融产品营销专家、数字化销售增长教练、沃顿商学院演讲嘉宾。全球创新增长战略大家EM罗杰斯(创新的扩散)、杰弗里摩尔(跨越鸿沟)、亨利切萨布鲁夫(开放式创新)在中国合作者。《中…

秋招倒计时?到底需要准备到什么程度?

秋招倒计时?需要准备到什么程度? 秋招,面向全国的毕业生,招聘的激烈程度可想而知!按照往年时间,秋招通常从八月初开始,九月黄金期,十月中后期。距今刚好差不多60天,时间其…

【PyScript】PyScript 基础入门

【PyScript】PyScript 基础入门 PyScript 是一个为了支持 Python 运行在浏览器的开源平台。 1.PyScript 应用程序的创建 PyScript 程序需要以下三个内容 一个提供给浏览器的 index.html 文件。PyScript 的运行环境描述,通常是一个 pyscript.json 或 pyscript.to…

从零到一打造自己的大模型:模型训练

前言 最近看了很多大模型,也使用了很多大模型。对于大模型理论似乎很了解,但是好像又缺点什么,思来想去决定自己动手实现一个 toy 级别的模型,在实践中加深对大语言模型的理解。 在这个系列的文章中,我将通过亲手实践…

入门篇:创建和运行Hello World

DevEco Studio安装完成后,可以通过运行Hello World工程来验证环境设置是否正确。接下来以创建一个支持Phone设备的工程为例进行介绍。 创建一个新工程 打开DevEco Studio,在欢迎页单击Create Project,创建一个新工程。根据工程创建向导&…

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

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