您正處在正確的軌道上,將數據轉換爲鏈接頁面上的表格(冗餘距離矩陣)。根據文檔,您應該能夠將其直接傳遞到scipy.cluster.hierarchy.linkage
或相關函數,例如scipy.cluster.hierarchy.single
或scipy.cluster.hierarchy.complete
。相關函數明確指定應如何計算羣集之間的距離。 scipy.cluster.hierarchy.linkage
可讓您指定所需的任何方法,但默認爲單個鏈接(即兩個集羣之間的距離是其最近點之間的距離)。所有這些方法將返回一個表示凝聚聚類的多維數組。然後,您可以使用scipy.cluster.hierarchy
模塊的其餘部分對該羣集執行各種操作,例如對其進行可視化或展平。
但是,有一個問題。在編寫this question的時候,儘管文檔說明了可以,但實際上不能使用冗餘距離矩陣。基於github issue仍然開放的事實,我認爲這還沒有解決。正如鏈接問題的答案中所指出的那樣,您可以通過將完整的距離矩陣傳遞到scipy.spatial.distance.squareform
函數來解決此問題,該函數將其轉換爲實際接受的格式(包含上三角部分的平面數組距離矩陣,稱爲濃縮距離矩陣)。然後,您可以將結果傳遞給scipy.cluster.hierarchy
函數之一。