簡體   English   中英

DBSCAN集群集群(sklearn python)

[英]DBSCAN clusters of cluster (sklearn python)

我有不同類別的元素,需要分別進行聚類(根據其類別),然后再進行聚類。 每個元素都有一個位置(緯度,經度)。

我的目標是確定群集(同一類別中不同元素的組)的群集(不同類別的組),如下圖所示: http : //i.imgur.com/V5Dovcf.png

在我的情況下,應包含在一個群集中的兩個元素之間的距離與兩個群集中的群集之間的距離相同。 例如,在帶有藍色簇的圖片中。 由於此藍色群集中的所有元素(與群集中的任何元素)最多相距d距離,因此它們屬於藍色群集。 對於紅色簇,其中包含最多相距d的元素的情況相同

如果我提供所有元素在一起作為輸入,那么使用DBSCAN可以輕松找到所有這些元素的簇。 而且,如果我想查找每個類別的集群,那么我將不得不僅提供不同類別的輸入作為輸入,並逐一運行DBSCAN。 但是我想應該有比運行多次DBSCAN更快的速度來獲取這些群集集群

您為什么認為混合要分開的類別會更快?

首先執行廉價操作,例如拆分數據集。 然后獨立處理每個分區。

據我所知,科學不能加快大地測量的距離。 因此,您將必須執行O(n ^ 2)距離計算。 如果您有10個類別,則可以將其分成這樣的分區並運行10次DBSCAN,則問題的速度提高 10倍,因為每次運行的費用要便宜10 ^ 2倍!

在我看來,這里的主要問題是由於數據的多重表示或分層性質(類別中的類別和群集)所致。 通常,如果距離基於奇異維度,則可以將這兩個維度(例如,簇距離和類別距離)合並在一起以形成新的奇異維度,從而使數據表示變得更簡單。

也許可以幫助?

我發現一些有用的材料:

暫無
暫無

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

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