机器学习中的层次聚类(凝聚型)

摘要:层次聚类(凝聚型)是一种自底向上的无监督聚类算法,通过逐步合并最近邻簇构建层次结构。该算法首先将每个样本视为独立簇,然后基于距离度量(如Ward法、单链接法等)迭代合并簇,最终形成树状图。Python实现中,可使用scikit-learn的AgglomerativeClustering和scipy的dendrogram函数进行聚类分析和可视化。虽然算法能直观展示数据层次关系且无需预设簇数,但对距离度量敏感且计算复杂度较高。典型应用包括客户细分、文档聚类等场景。

目录

机器学习中的层次聚类(凝聚型)

一、概述

核心定义

关键步骤

二、层次聚类(凝聚型)算法

三、为何使用层次聚类(凝聚型)?

四、Python 中层次聚类(凝聚型)的实现

(一)导入所需库并加载数据集

(二)构建连接矩阵

(三)可视化树状图

(四)应用聚类算法并提取聚类标签

(五)可视化聚类结果

六、层次聚类(凝聚型)的优势

七、层次聚类(凝聚型)的劣势

八、层次聚类(凝聚型)的应用场景


机器学习中的层次聚类(凝聚型)

一、概述

层次聚类(凝聚型)是一种层次化聚类算法,它以每个数据点作为独立聚类开始,通过迭代方式合并最接近的聚类,直至满足停止条件。这是一种自下而上的方法,会生成树状图(dendrogram)—— 一种类似树的图表,用于展示聚类间的层次关系。该算法可通过 Python 中的 scikit-learn 库实现。

层次聚类(凝聚型)是机器学习中无监督聚类的重要方法,其核心思想是从单个样本出发,逐步合并距离最近的簇,最终形成一棵聚类树(树状图)

核心定义

凝聚型层次聚类(Agglomerative Hierarchical Clustering, AHC)属于 “自底向上” 的聚类策略:

  1. 初始状态下,每个样本都是一个独立的簇
  2. 计算所有簇两两之间的距离,每次将距离最近的两个簇合并为一个新簇
  3. 重复步骤 2,直到所有样本都被合并为一个簇,或者达到预设的聚类数量。

关键步骤

  1. 初始化簇将数据集 D={x1​,x2​,...,xn​} 中的每个样本 xi​ 初始化为一个簇 Ci​={xi​},此时簇的总数为 n。

  2. 定义簇间距离簇间距离的计算方式直接决定聚类结果,常用的方法有 4 种:

    • 单链接法(Single-linkage):两个簇中最近样本的距离,容易形成链式聚类。
    • 全链接法(Complete-linkage):两个簇中最远样本的距离,能有效避免链式聚类,但对异常值敏感。
    • 平均链接法(Average-linkage):两个簇中所有样本对距离的平均值,平衡性较好。
    • 沃德法(Ward's method):合并两个簇时,簇内平方和(SSE)的增量最小,倾向于生成紧凑且大小均匀的簇,是最常用的方法之一。
  3. 迭代合并簇

    • 计算当前所有簇两两之间的距离。
    • 找出距离最小的一对簇,将它们合并为一个新簇。
    • 更新簇的集合,减少一个簇。
    • 重复上述过程,直到满足停止条件(如簇数 = 1,或达到目标簇数)。
  4. 生成树状图(Dendrogram)聚类过程可以用树状图可视化,横轴是样本,纵轴是簇间距离。通过截取树状图的某一高度,就能得到对应数量的簇。

二、层次聚类(凝聚型)算法

层次聚类(凝聚型)是通过自下而上合并聚类来构建嵌套式层次聚类结构的算法,具体步骤如下:

  1. 将每个数据点视为单个聚类;
  2. 采用距离度量方法计算邻近矩阵;
  3. 依据连接准则合并聚类;
  4. 更新距离矩阵;
  5. 重复步骤 3 和步骤 4,直至仅剩余一个聚类。

三、为何使用层次聚类(凝聚型)?

层次聚类(凝聚型)便于解读数据点间的关系。与 K - 均值聚类不同,该算法无需预先指定聚类数量,且效率高,能够识别小型聚类。

四、Python 中层次聚类(凝聚型)的实现

我们将以鸢尾花(iris)数据集为例进行演示,具体步骤如下:

(一)导入所需库并加载数据集

import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.datasets import load_iris from sklearn.cluster import AgglomerativeClustering from scipy.cluster.hierarchy import dendrogram, linkage # 加载鸢尾花数据集 iris = load_iris() X = iris.data # 特征数据 y = iris.target # 目标标签

(二)构建连接矩阵

连接矩阵包含了每对聚类之间的距离,可通过scipy.cluster.hierarchy模块中的linkage函数构建:

# 使用"ward"方法计算聚类间距离,该方法可最小化被合并聚类间距离的方差 Z = linkage(X, 'ward')

(三)可视化树状图

通过同一模块中的dendrogram函数可视化树状图:

plt.figure(figsize=(7.5, 3.5)) plt.title("鸢尾花数据集树状图") dendrogram(Z) # 绘制树状图 plt.show()

生成的树状图(见下图)展示了聚类间的层次关系:算法首先合并最接近的聚类,且随着树状图向上延伸,聚类间的距离逐渐增大。

(四)应用聚类算法并提取聚类标签

通过sklearn.cluster模块中的AgglomerativeClustering类应用算法:

# 创建层次聚类(凝聚型)实例,指定聚类数量为3(已知鸢尾花数据集包含3个类别) model = AgglomerativeClustering(n_clusters=3) model.fit(X) # 拟合数据集 labels = model.labels_ # 提取聚类标签

(五)可视化聚类结果

通过散点图可视化最终聚类结果:

plt.figure(figsize=(7.5, 3.5)) # 以花萼长度为x轴、花萼宽度为y轴绘制散点图,不同聚类用不同颜色标识 plt.scatter(X[:, 0], X[:, 1], c=labels) plt.xlabel("花萼长度") plt.ylabel("花萼宽度") plt.title("层次聚类(凝聚型)结果") plt.show()

生成的图表展示了算法识别出的 3 个聚类,可见算法成功将数据点划分为对应的类别。

五、完整代码示例

import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.datasets import load_iris from sklearn.cluster import AgglomerativeClustering from scipy.cluster.hierarchy import dendrogram, linkage # 加载鸢尾花数据集 iris = load_iris() X = iris.data y = iris.target # 构建连接矩阵并绘制树状图 Z = linkage(X, 'ward') plt.figure(figsize=(7.5, 3.5)) plt.title("鸢尾花数据集树状图") dendrogram(Z) plt.show() # 创建层次聚类(凝聚型)模型并拟合数据 model = AgglomerativeClustering(n_clusters=3) model.fit(X) labels = model.labels_ # 可视化聚类结果 plt.figure(figsize=(7.5, 3.5)) plt.scatter(X[:, 0], X[:, 1], c=labels) plt.xlabel("花萼长度") plt.ylabel("花萼宽度") plt.title("层次聚类(凝聚型)结果") plt.show()

六、层次聚类(凝聚型)的优势

  1. 生成树状图,清晰展示聚类间的层次关系;
  2. 可兼容多种距离度量方法和连接准则;
  3. 聚类数量灵活,可根据需求从数据中提取;
  4. 高效实现版本可处理大型数据集。

七、层次聚类(凝聚型)的劣势

  1. 处理大型数据集时计算成本较高;
  2. 若距离度量方法或连接准则与数据不匹配,可能产生不平衡聚类;
  3. 最终结果对距离度量方法和连接准则的选择较为敏感;
  4. 对于包含大量聚类的大型数据集,树状图的解读难度较大。

八、层次聚类(凝聚型)的应用场景

层次聚类(凝聚型)在无监督机器学习任务的多个领域均有应用,主要包括:

  1. 图像分割;
  2. 文档聚类;
  3. 客户行为分析(客户细分);
  4. 市场细分;
  5. 社交网络分析。

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

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

相关文章

34.方块定位

1.使用WhiteRec.CBD图片完成以下操作 ①测量每个图片上有多少个物料(白色方块),并显示在图片上 ②在图像上按从左到右,从上到下的顺序标记每颗物料的序号,序号显示在物料的中心附近 ③将料盘按照下图的样式划分,每个区域内一颗物料,并显示分割线。 ④在图像上找出每颗…

Cloudflare Workers 和 Pages 的本质区别:托管 vs 计算

Cloudflare Workers 和 Pages 经常一起被提,但它们解决的是两类完全不同的问题。可以一句话先分清: Pages 是“托管与发布”,Workers 是“计算与控制”。 下面我按定位 → 能力 → 典型场景 → 选型建议把差异说透。 一、核心定位差异(最重要) Cloudflare Pages 定位:前…

Qoder NEXT 来了:补全功能全新升级,AI 代码采纳率提升 65%

今天,Qoder 智能补全能力全面升级,并发布全新品牌 NEXT。Qoder NEXT 能主动感知整个代码库与编辑历史,在开发者完成一次修改后,立即推断出后续需要联动变更的位置,并提供精准的代码建议,让 AI 真正理解&quo…

黑客技术门槛有多高?普通人入局需谨慎!网安入行必看的 3 个事实

经常能看到有人问 “零基础能学黑客技术吗?”“学网安真的能月入 20K 吗?”—— 作为从业多年的安全工程师,今天想从技术门槛、行业收益、职业路径三个维度,跟大家聊聊真实的网安行业,帮想入行的朋友避开 “脚本小子”…

双馈风力发电系统AC/DC/AC变流器的仿真模型 ,网侧变流器及转子侧变流器的控制方案,采用双...

双馈风力发电系统AC/DC/AC变流器的仿真模型 ,网侧变流器及转子侧变流器的控制方案,采用双PWM控制,网侧采用定子电压定向,转子侧采用定子磁链定向,实现超同步及次同步时功率的双向流动。 还有20页的说明内容。双馈风机变…

用 Cloudflare D1 给 Pages/Functions 上数据库:一套“绑定式部署”的正确姿势

你现在的站点不是静态导出,而是 Next.js App Router 跑在 Cloudflare Pages 的 SSR/Functions 上。 这意味着:你的 API(例如 /api/footprints 留言)本质是 Cloudflare Worker 运行时,它拿数据库不是走“公网连接串”,而是走 Cloudflare 的 Binding 注入: 你在 Cloudflar…

京东蚂蚁领跑链上金融:香港RWA革命如何打通万亿级资产新通道?

引言:一场静默的金融革命正在东方之珠上演当华尔街的投行精英还在为传统证券代币化的合规框架争论不休时,香港维多利亚港的夜色中,一场以“现实资产代币化”(RWA)为核心的链上金融竞赛已悄然进入白热化阶段。京东科技在…

阿培利斯:一种具有潜力的癌症治疗药物

阿培利斯作为一款专注于癌症治疗的药物,在多种类型癌症的临床治疗探索中展现出显著的应用前景,为肿瘤治疗领域注入了新的活力。从药代动力学与药效学特征来看,该药物具备口服吸收效果更佳、半衰期更长的优势,这一特性使其能够支持…

DApp开发全周期革命:模式创新、模块化架构与合规化生存指南

引言:DApp,数字世界的“新宪法”截至2025年12月,全球DApp数量突破12万,覆盖金融、游戏、社交、供应链等30余个领域,用户总量突破5亿。从Curve Finance的800亿美元锁仓量到Axie Infinity单日300万活跃用户,D…

BC911:22V/3.5A 同步降压单节锂电池充电芯片

BC911是一款高集成度同步降压锂电池充电芯片,专为单节锂离子电池设计,输入电压范围4~22V,最大充电电流3.5A,适用于便携式媒体播放器、智能手机、PDA/DSC、手持设备及充电底座等场景。提供ESOP8与DFN10两种封装,工作结温…

nginx接口超时,增加接口超时时间

C:\tools\nginx-1.28.0\conf\nginx.conf文件,报错:2026/01/07 16:49:32 [error] 29844#25096: *8 upstream timed out (10060: A connection attempt failed because the connected party did not properly respond after a period of time, or establis…

全网干货!2026 转行网络安全:行业前景预判 + 工作内容详解 + 薪资水平参考

如果你计划在2026年转行到网络安全领域,以下是一些建议,可以帮助你顺利过渡并打下坚实的基础 1、薪资情况 初级职位(0-3年经验) 薪资范围:大约 8k-15k/月(根据地区、公司规模和工作内容有所不同&#xff…

ROS-Industrial 安装及使用

ROS-Industrial相关组件信息。它们涵盖了运动规划、可达性分析、标定及系统桥接等关键任务,但各有不同的发布状态和安装方式。为了让你有一个清晰的整体概览,下表汇总了这些组件的核心信息:组件/包名主要功能描述支持的ROS版本 (Humble)推荐的…

UE5 C++(12):

(54) (55) 谢谢

低代码技术民主化:全民开发时代即将到来

数字化转型正在经历一场静默的革命。过去几年里,企业对软件的需求以每年两倍以上的速度增长,而专业开发者的供给年增长率不足5%。这道愈发扩大的裂缝,正在被低代码技术以一种近乎哲学的方式弥合——它不仅是工具的创新,更是生产关…

超棒Claude官方提示词:Anthropic发布Claude 4.x提示工程最佳实践

顶尖模型的能力越来越强,提示工程也在发生微妙的变化。大语言模型已经发生从对话者向执行者的根本性转变。这些模型经过极高精度的指令遵循训练,使得提示词工程不再是玄学的咒语吟唱,而是一门精确的系统工程。要驾驭这股力量,我们…

深度测评继续教育AI论文网站TOP10:选对工具轻松写好论文

深度测评继续教育AI论文网站TOP10:选对工具轻松写好论文 2026年继续教育AI论文写作工具测评:精准匹配学习需求 随着继续教育群体规模不断扩大,学术写作成为许多在职人员提升学历、职称的重要环节。然而,时间紧张、写作技巧不足、格…

土木行业遇冷?越来越多土木人正在疯狂转行网络安全!

一直以来,土木工程都被列为天坑专业,工地提桶吃灰、加班加点无休,从入行到提桶跑路,往往只需要半年。 网上有许多土木专业同学的扎心吐槽,每个人在熬个一年半载后,最终往往都会选择转行****。**** 转行只需…

4D通用世界模型!中科院NeoVerse用百万单目视频直接构建

中国科学院自动化研究所与CreateAI团队,利用海量互联网单目视频构建了一个4D世界模型NeoVerse。构建即时响应、物理一致的4D世界模型,长期以来面临着数据匮乏与训练低效的双重诅咒。传统的解决方案要么受困于昂贵稀缺的多视角数据,限制了模型…

学霸同款!8款AI论文工具测评:开题报告与文献综述必备

学霸同款!8款AI论文工具测评:开题报告与文献综述必备 2026年AI论文工具测评:精准匹配学术需求的实用指南 随着人工智能技术在学术领域的广泛应用,越来越多的研究生开始依赖AI工具提升论文写作效率。然而,面对市场上琳琅…