1、准备数据集
set.seed(2) #设置随机数种子
x = matrix(rnorm(50*2),ncol=2) #生成50X2的正态分布矩阵
x[1:25,1] = x[1:25,1] +3
x[1:25,2] = x[1:25,2] -4 #构建不同的聚类
2、创建聚类模型
km.out = kmeans(x,2,nstart=20)
km.out$cluster
输出如下:
很明显,前25条记录分为了一类,后25条记录分为了一类。
3、作图并标注聚类中心
plot(x,col=(km.out$cluster+1)) #做出数据集的点图
km.out$centers #打印聚类中心
points(km.out$centers[1,1],km.out$centers[1,2],pch=10,col="red",cex=2)
points(km.out$centers[2,1],km.out$centers[2,2],pch=10,col="blue",cex=2) #标注聚类中心
输出如下: