我想使用correlation clustering
和我的數字R
是一個很好的開始。R中的相關聚類
我可以將數據作爲一組大的稀疏向量或作爲具有預先計算的相異性矩陣的表格呈現給R
。
我的問題是:
- 都存在現有
R
功能與使用correlation clustering
agnes
變成一個hierarchical cluster
? - 我將不得不手動執行(不可否認的)
correlation clustering
函數,如果是這樣的話,我該如何使它與agnes
一起玩呢?
我想使用correlation clustering
和我的數字R
是一個很好的開始。R中的相關聚類
我可以將數據作爲一組大的稀疏向量或作爲具有預先計算的相異性矩陣的表格呈現給R
。
我的問題是:
R
功能與使用correlation clustering
agnes
變成一個hierarchical cluster
?correlation clustering
函數,如果是這樣的話,我該如何使它與agnes
一起玩呢?我固然不是很瞭解這個問題,但只是把你指向一個方向:
標準的做法是一個涉及cor()
,hclust()
和plot.hclust()
。 我強烈推薦heatmap.2從美妙的gplots包。
我去了http://www.rseek.org/並輸入了agnes算法,發現CRAN上的CLUSTER包具有以下函數AGNES的功能細節。
詳細
艾格妮絲在第5章Kaufman和Rousseeuw(1990)的 被充分地描述。 相比其他凝聚 聚類方法如hclust, 艾格尼絲具有以下特徵:(a) 它產生的凝聚 係數(參見agnes.object),其 措施發現聚類 結構的量;和(b)除了通常的樹木 之外,它還提供了 橫幅,一種新穎的圖形顯示(參見 plot.agnes)。
agnes算法構造一個聚類的層次結構 。起初, 每個觀察是由 本身的一個小集羣。合併羣集,直到只有 一個大羣集仍然存在,其中 包含所有的觀察結果。在每個 階段,兩個最近的聚類組合爲 ,以形成一個更大的聚類。
對於方法=「平均」,該距離 兩者之間簇是 的相異性的 其它羣集中的點 在一個簇和點之間的平均。在method =「single」中,我們 使用第一個簇中的一個點與第二個簇中的 點(最接近的 鄰居方法)之間的最小差異性 。當 method =「complete」時,我們使用 第一個簇中的點與 第二個簇(最遠的鄰居 方法)之間的最大 差異性。
集羣是一個相當巨大的話題,你會發現R的許多包實現它的一些形式。當你有屬性和協變量時,把聚類和協調結合起來有時可以產生更多的見解。
在集羣包中使用差異矩陣很容易使用agnes
函數。只需將「diss」參數設置爲TRUE即可。
如果你可以很容易地計算R之外的相異矩陣,那麼這可能是一條路。否則,可以使用R中的cor
函數來生成相似度矩陣(從中可以通過從1中減去得到相異度矩陣)。
感謝您的參考 – daveb 2009-09-24 17:22:52
沒問題。當你想出所有的東西時,隨時發佈任何後續回覆到這個問題! :) – Shane 2009-09-24 21:30:13