层次聚类是一种无监督的机器学习算法,它通过将数据点逐渐合并成簇来发现数据的层次结构。Scipy 库提供了层次聚类的实现,这里将为你介绍如何使用 Scipy 进行层次聚类。

安装 Scipy

在开始之前,请确保你已经安装了 Scipy 库。可以使用以下命令进行安装:

pip install scipy

导入必要的库

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

创建数据集

为了演示,我们将使用一个简单的二维数据集。

data = np.array([[1, 2], [2, 3], [3, 4], [4, 5], [5, 6]])

计算层次聚类

使用 linkage 函数计算层次聚类的结果。

linked = linkage(data, 'ward')

绘制树状图

使用 dendrogram 函数绘制树状图。

dendrogram(linked)
plt.show()

层次聚类树状图

分析结果

通过观察树状图,你可以看到数据点是如何被合并成簇的。每个节点代表一个簇,而连接节点的线代表合并的方式。

扩展阅读

想要了解更多关于层次聚类的信息,可以阅读以下教程:

希望这个教程能帮助你入门 Scipy 层次聚类!🌟