使用R语言实现K均值聚类算法
K均值聚类算法是一种常见的无监督学习算法,用于将数据集划分为k个不同的簇。每个簇都由其内部的数据点特征所决定,而不同簇之间的数据点特征有所差异。本文将介绍如何使用R语言实现K均值聚类算法,并提供相应的源代码。
首先,我们需要导入所需的R包。在本例中,我们将使用"stats"包提供的kmeans()函数来执行K均值聚类。
# 导入所需的R包
library(stats)
接下来,我们需要准备用于聚类的数据集。在本例中,我们将使用一个示例数据集,其中包含了一些随机生成的二维数据点。
# 生成随机数据集
set.seed(123)
data <- matrix(rnorm(100), ncol = 2)
现在,我们可以使用kmeans()函数执行K均值聚类。该函数需要两个参数:数据集和聚类的数量k。
# 执行K均值聚类
k <- 3 # 聚类的数量
result <- kmeans(data, centers = k)
执行完上述代码后,K均值聚类算法会将数据集中的数据点划分为k个簇,并返回聚类结果。聚类结果是一个包含两个元素的列表。第一个元素是一个向量,表示每个数据点所属的簇的编号。第二个元素是一个矩阵,表示每个簇的质心坐标。
我们可以通过以下方式访问聚类结果: