层次聚类是一种无监督学习算法,它通过将数据点或特征合并成越来越大的簇来构建聚类层次结构。以下是层次聚类的基本步骤和示例。

基本步骤

  1. 选择距离度量:层次聚类需要选择一个距离度量来衡量数据点之间的相似性。常用的距离度量包括欧几里得距离、曼哈顿距离等。
  2. 选择聚类方法:层次聚类有两种主要方法:自底向上(凝聚)和自顶向下(分裂)。
  3. 构建聚类层次结构:根据选择的距离度量和方法,构建聚类层次结构。
  4. 选择聚类数目:根据层次结构图选择合适的聚类数目。

示例

假设我们有一组数据点,每个数据点有3个特征。我们可以使用以下代码进行层次聚类:

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

# 假设数据
data = [[1, 2, 3], [2, 3, 4], [1, 3, 2], [3, 2, 1]]

# 聚类
linked = linkage(data, 'ward')

# 绘制树状图
dendrogram(linked)
plt.show()

层次聚类树状图

扩展阅读

想要了解更多关于层次聚类的知识,可以参考以下链接: