开始使用免费开始使用

比较 kmeans() 与 hclust()

比较 k-means 与层次聚类,您会发现这两种方法得到的聚类成员并不相同。这是因为两种算法对数据生成过程的假设不同。在更高阶的课程中,我们可以根据模型假设的合理性来选择模型。但此处只需注意它们的结果存在差异即可。

本练习将让您在 pokemon 数据集上比较两种模型的结果,看看它们有哪些不同。

本练习是课程的一部分

R 中的无监督学习

查看课程

练习说明

pokemon 数据运行的 k-means 聚类结果(3 个簇)已保存为 km.pokemon。您在上一个练习中创建的层次聚类模型仍可使用,名称为 hclust.pokemon

  • hclust.pokemon 使用 cutree(),为每个观测指定聚类成员。设定为 3 个簇,并将结果赋给名为 cut.pokemon 的向量。
  • 使用 table() 比较两种聚类方法的成员分配。请记住,可以用 $ 运算符访问 k-means 模型对象的不同组件。

交互式实操练习

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

# Apply cutree() to hclust.pokemon: cut.pokemon


# Compare methods
table(___, ___)
编辑并运行代码