簡體   English   中英

具有大量集群的 KMeans

[英]KMeans with huge number of clusters

我有一個相對較大的圖,它有大約 6000 個頂點,我必須使用 KMeans 並查看 5467 個簇是什么。 我必須使用不同的度量標准,這就是我將 distance_matrix 作為輸入的原因。 這樣做的問題是,由於 n_clusters 太大,它不會收斂。 有人建議我進行自定義調整以使其正常工作,但我不確定這意味着什么。 這就是為什么我在這里發布這個問題。 歡迎任何幫助:謝謝! 這是我的代碼:

from sklearn.cluster import KMeans

distance_matrix = floyd_warshall_numpy(G)

cluster = KMeans(n_clusters=5467)

cluster.fit(distance_matrix)

graph_labels = cluster.labels_

我不建議使用 Kmeans 進行如此多的集群。 相反,請嘗試使用具有歐幾里德距離的凝聚聚類 這將允許您找到一個截止點,您可以通過對點進行分組來獲得預期的集群數量。

在此處輸入圖像描述

如果在 5 處關閉,則會給你 4 個集群,而在 2 處關閉它會給你更多。

虛擬代碼 -

from sklearn.cluster import AgglomerativeClustering
import numpy as np
X = np.array([[1, 2], [1, 4], [1, 0],[4, 2], [4, 4], [4, 0]])
clustering = AgglomerativeClustering().fit(X)
clustering.labels_
array([1, 1, 1, 0, 0, 0])

您也可以使用預先計算的矩陣進行凝聚聚類

檢查我共享的文檔鏈接。

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM