划分聚类 是用于基于数据集的相似性将数据集分类为多个组的聚类方法。
分区聚类,包括:
对于这些方法中的每一种,我们提供:
数据准备:
my_data <- USArrests
# 删除所有缺失值(即NA值不可用)
my_data <- na.omit(my_data)
# 标准化变量
my_data <- scale(my_data)
# 查看开始3行
head(my_data, n = 3)
## Murder Assault UrbanPop Rape
## Alabama 1.2426 0.783 -0.521 -0.00342
## Alaska 0.5079 1.107 -1.212 2.48420
## Arizona 0.0716 1.479 0.999 1.04288
确定k-means聚类的最佳聚类数:
fviz_nbclust(my_data, kmeans,
method = "gap_stat")
## Clustering k = 1,2,..., K.max (= 10): .. done
## Bootstrapping, b = 1,2,..., B (= 100) [one "." per sample]:
## .................................................. 50
## .................................................. 100
计算和可视化k均值聚类:
fviz_cluster(km.res, data = my_data,
ellipse.type = "convex",
palette = "jco",
repel = TRUE,
ggtheme = theme_minimal())
同样,可以如下计算和可视化PAM聚类:
pam.res <- pam(my_data, 4)
# 可视化
fviz_cluster(pam.res)