開始使用免費開始

比較 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(___, ___)
編輯並執行程式碼