逐步聚类法学习笔记

文章介绍了逐步聚类法的基本概念,包括簇、距离度量和聚类距离,并详细阐述了算法流程。通过使用Python的`scipy.cluster.hierarchy`库展示了如何进行完全链接聚类和欧氏距离计算的示例代码,同时提供了绘制聚类图的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

逐步聚类法学习笔记

在聚类分析中,逐步聚类法(Hierarchical Clustering)是一种基于距离度量的聚类方法。其主要思想是将样本逐步合并成越来越大的簇,直到所有样本都属于同一个簇为止。

本篇博客将介绍逐步聚类法的基本概念、算法流程以及Python实现。

基本概念

  • 簇:由若干个相似对象组成的集合。
  • 距离度量:用于衡量不同对象间的相似度或距离。
  • 聚类距离:用于衡量两个簇之间的距离或相似度。
  • 聚类图:表示聚类过程中各个簇之间的合并过程。

算法流程

逐步聚类法的算法流程如下:

  1. 将每个对象看作一个簇。
  2. 计算两个最近的簇之间的距离,并将它们合并成一个新的簇。
  3. 重复步骤2,直到所有对象都属于同一个簇为止。

在逐步聚类法中,有两种常用的距离度量方式:欧氏距离和曼哈顿距离。在计算两个簇之间的距离时,有三种常用的聚类距离方式:单链接聚类、完全链接聚类和平均链接聚类。

Python实现

下面是使用Python进行逐步聚类法的示例代码:

import numpy as np
from scipy.cluster.hierarchy import dendrogram, linkage
import matplotlib.pyplot as plt

# 样本数据
X = np.array([[5,3], [10,15], [15,12], [24,10], [30,30], [85,70], [71,80], [60,78], [70,55], [80,91]])

# 逐步聚类
Z = linkage(X, method='complete', metric='euclidean')

# 绘制聚类图
plt.figure(figsize=(10, 7))
plt.title("Hierarchical Clustering Dendrogram")
plt.xlabel("Index")
plt.ylabel("Distance")
dendrogram(Z)
plt.show()

其中, X X X表示样本数据集,在本例中为二维空间中的10个点。通过运行代码,可以得到逐步聚类法的聚类图,其中横轴表示样本点的索引,纵轴表示样本点之间的距离。

总结

本篇博客介绍了逐步聚类法的基本概念、算法流程以及Python实现。希望可以对读者在进行聚类分析时有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值