比较 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(___, ___)