开始使用免费开始使用

多个 K,多个模型

虽然 lineup 数据集的 k 值是已知的,但在很多情况下,最优聚类数并不确定,需要进行估计。

在本练习中,您将使用 purrr 库中的 map_dbl(),对 k 从 1 到 10 的取值运行 k-means,并从每个模型中提取簇内离差平方和总和指标。这是绘制肘部图的第一步。

本练习是课程的一部分

R 中的聚类分析

查看课程

练习说明

  • 使用 map_dbl()lineup 数据上对 k 取值 1 到 10 运行 kmeans(),并从每个模型中提取簇内离差平方和总和model$tot.withinss。将得到的向量存为 tot_withinss
  • 构建新数据框 elbow_df,其中包含 k 的取值及对应的簇内离差平方和总和向量。

交互式实操练习

通过完成这段示例代码来试试这个练习。

library(purrr)

# Use map_dbl to run many models with varying value of k (centers)
tot_withinss <- map_dbl(1:10,  function(k){
  model <- kmeans(x = ___, centers = ___)
  model$tot.withinss
})

# Generate a data frame containing both k and tot_withinss
elbow_df <- data.frame(
  k = ___ ,
  tot_withinss = ___
)
编辑并运行代码