DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一種基於密度的聚類演算法。它將簇定義為密度相連的點的最大集合,把具有足夠高密度的地區劃分為簇,可以在雜訊的空間資料集中發現任意形狀的聚類。您可以使用DBSCAN組件構建聚類模型。本文為您介紹DBSCAN組件的配置方法。
功能限制
僅支援在Designer上使用。
支援的計算引擎為MaxCompute和Flink。
可視化配置組件參數
Designer支援通過可視化的方式,配置組件參數。
頁簽 | 參數 | 描述 |
欄位設定 | ID列名 | ID列對應的列名。 |
向量列名 | 向量列對應的列名。 | |
參數設定 | 鄰域距離閾值 | 如果節點A是節點B的鄰域,則節點A和節點B之間的距離不超過該閾值。具體配置方法,詳情請參見附錄2:如何配置參數。 |
鄰域中樣本個數的閾值 | 當一個節點被認為是核心(core)時,它的鄰域中至少包含的節點個數。具體配置方法,詳情請參見附錄2:如何配置參數。 | |
預測結果列名 | 預測結果列的名稱。 | |
距離度量方式 | 聚類使用的距離類型,預設為EUCLIDEAN,取值如下:
| |
執行調優 | 節點個數 | 與單個節點記憶體大小參數配對使用。取值為[1, 9999]的正整數。具體配置方法,詳情請參見附錄1:如何預估資源使用量。 |
單個節點記憶體大小,單位M | 取值範圍為1024 MB~64*1024 MB。具體配置方法,詳情請參見附錄1:如何預估資源使用量。 |
附錄1:如何預估資源使用量
您可以參考以下內容,來預估資源的使用量。
如何預估每個節點的記憶體大小?
將輸入資料的大小乘以15,即為每個節點的記憶體大小。
例如:輸入資料的大小為1 GB,則每個節點的記憶體大小可以配置為15 GB。
如何預估節點的個數?
由於存在通訊開銷,隨著節點數量的增加,分布式訓練任務速度會先變快,後變慢。如果您觀測到訓練任務隨著節點數量增加之後,速度變慢,則應該停止增加節點數量。
該演算法可以支援多大的資料量?
資料量小於100萬條,維度小於200。
說明如果資料量超出範圍,建議先將資料分組,每個分組分別跑DBSCAN演算法。
一個中心點的聚類中心ID為什麼是2147483648?
因為該資料點為離散點,不屬於任何一個聚類中心。
附錄2:如何配置參數
DBSCAN組件常用的兩個參數為:鄰域中樣本個數閾值(minPoints)和鄰域距離閾值(epsilon),具體配置方法如下:
當觀測到簇數目過多,想要減少簇數目時,建議優先調大minPoints,再調小epsilon。
當觀測到簇數目過少,想要增加簇數目時,建議優先調小minPoints,再調大epsilon。