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