基于 PCA 结果的聚类
在最后这个练习中,您将把之前用过的多个步骤串联起来,在此过程中体验无监督学习中常见的创造性。
回顾前面的练习,PCA 模型用显著更少的特征就能描述数据中 80% 和 95% 的变异。除了对数据进行「标准化」并可能避免过拟合以外,PCA 还会让变量之间互不相关,有时能提升其他建模技术的效果。
让我们看看 PCA 是否会提升或降低层次聚类的表现。
本练习是课程的一部分
R 中的无监督学习
练习说明
wisc.pr、diagnosis、wisc.hclust.clusters 和 wisc.km 仍在您的工作区中可用。
- 使用能够描述数据中至少 90% 变异所需的最少主成分,创建一个使用 complete linkage 的层次聚类模型。将结果赋给
wisc.pr.hclust。 - 将该层次聚类模型切分为 4 个簇,并将结果赋给
wisc.pr.hclust.clusters。 - 使用
table()将新层次聚类模型的结果与真实诊断进行对比。新创建的 4 簇模型能多大程度区分这两种诊断? - 您在之前练习中创建的 k-means 与层次聚类模型,在区分诊断方面表现如何?同样使用
table()函数,将每个模型的输出与包含真实诊断的向量进行比较。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Create a hierarchical clustering model: wisc.pr.hclust
wisc.pr.hclust <- ___(dist(wisc.pr$___[, ___:___]), method = ___)
# Cut model into 4 clusters: wisc.pr.hclust.clusters
# Compare to actual diagnoses
# Compare to k-means and hierarchical