R语言层次聚类模型示例
层次聚类是一种常用的无监督学习算法,用于将数据集中的样本进行分组。它基于样本之间的相似性或距离度量,将相似的样本聚集在一起形成层次结构。本文将介绍如何使用R语言实现层次聚类模型,并提供相应的源代码示例。
在使用R语言进行层次聚类前,首先需要准备好待聚类的数据集。这里我们以一个虚拟的数据集为例,包含了四个样本和两个特征。数据集如下:
# 创建数据集
data <- data.frame(
X1 = c(1, 2, 3, 4),
X2 = c(2, 4, 6, 8)
)
接下来,我们可以使用R中的dist()
函数计算样本之间的距离。在这个示例中,我们使用欧氏距离作为距离度量。代码如下:
# 计算距离矩阵
dist_matrix <- dist(data, method = "euclidean")
得到距离矩阵后,我们可以使用hclust()
函数进行层次聚类。hclust()
函数接受一个距离矩阵作为输入,并根据指定的聚类算法(如单链接、完全链接或平均链接)进行聚类。以下是使用单链接聚类算法的示例代码:
# 进行层次聚类
hc <- hclust(dist_matrix, method = "single")
聚类完成后,我们可以使用plot()