熱線電話:13121318867

登錄
首頁精彩閱讀R語言中實現層次聚類模型
R語言中實現層次聚類模型
2018-06-11
收藏

R語言中實現層次聚類模型

大家好!在這篇文章中,我將向你展示如何在R中進行層次聚類。 

什么是分層聚類?

分層聚類是一種可供選擇的方法,它可以自下而上地構建層次結構,并且不需要我們事先指定聚類的數量。

該算法的工作原理如下:

將每個數據點放入其自己的群集中。

確定最近的兩個群集并將它們組合成一個群集。

重復上述步驟,直到所有數據點位于一個群集中。

一旦完成,它通常由樹狀結構表示。

讓我們看看分層聚類算法可以做得多好。我們可以使用hclust這個。hclust要求我們以距離矩陣的形式提供數據。我們可以通過使用dist。默認情況下,使用完整的鏈接方法。

這會生成以下樹形圖:


從圖中我們可以看出,群集總數的最佳選擇是3或4:


要做到這一點,我們可以使用所需數量的群集來切斷樹cutree。

現在,讓我們將它與原始物種進行比較。


它看起來像算法成功地將物種setosa的所有花分為簇1,并將virginica分為簇2,但是與花斑雜交有困難。如果你看看顯示不同物種的原始圖,你可以理解為什么:


讓我們看看我們是否可以通過使用不同的連接方法更好。這一次,我們將使用平均連接方法:

這給了我們以下樹狀圖


我們可以看到,群集數量的兩個最佳選擇是3或5.讓我們用cutree它來將它降到3個群集。

我們可以看到,這一次,該算法在聚類數據方面做得更好,只有6個數據點出錯。

我們可以如下繪制它與原始數據進行比較:

這給了我們下面的圖表:


內部顏色與外部顏色不匹配的所有點都是不正確聚類的點。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢