在 PCA 結果上進行分群
在最後這個練習中,你會把前面用過的幾個步驟組合起來,同時體驗無監督學習中常見的一些靈活與創意。
回想先前的練習,PCA 模型只需明顯更少的特徵就能解釋資料中 80% 與 95% 的變異。除了能夠對資料進行「標準化」(normalizing)並有機會避免過度擬合之外,PCA 還會讓變數彼此不相關,有時能提升其他建模技術的效能。
現在來看看,PCA 是否能提升或降低階層式分群的表現。
本練習屬於課程
R 的無監督式學習
練習說明
wisc.pr、diagnosis、wisc.hclust.clusters 和 wisc.km 仍可在你的工作區使用。
- 使用能解釋資料中至少 90% 變異的最少主成分數,建立以 complete linkage 為連結方式的階層式分群模型。將結果指定給
wisc.pr.hclust。 - 將這個階層式分群模型切成 4 個群組,並將結果指定給
wisc.pr.hclust.clusters。 - 使用
table(),比較新階層式分群模型的結果與實際診斷。這個新建立、含四個群組的模型,能多好地把兩種診斷區分開來? - 你先前建立的 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