1. 程式人生 > >密度聚類(DBSCAN)

密度聚類(DBSCAN)

DBSCAN

基本概念與演算法原理

有資料集D={x1,x2,...,xm}, 引數param={ϵ,MinPts}
有如下基本概念:

  • ϵ-鄰域:資料集D中除xi外的其他樣本與xi距離小於ϵ的樣本集合。記作Nϵ(xj)={xjD|dist(xi,xj)ϵ}.
  • 核心物件(Core Object):若xjϵ-鄰域中樣本數量大於MinPts,則樣本xj核心物件。記作|Nϵ(xj)|MinPts.
  • 密度直達(Directly Density-Reachable):若樣本xixjϵ-鄰域中的樣本( xiNϵ(xj) ),則xixj密度直達.
  • 密度可達(Density-Reachable):存在樣本序列P
    1
    ,P2,,...,Pn
    ,其中P1的核心物件為xiPn的核心物件為xj,且Pi+1Pi密度直達,則xixj密度可達.
  • 密度相連(Density-Connected):xkD,使xixj均由xk密度可達,則xixj密度相連.

圖例:
圖例

由此,我們可由密度可達關係匯出最大密度相連樣本集合。
給定引數param={ϵ,MinPts},簇ClusterD滿足:

  • 連線性(Connectivity):XiCxjCxixj密度相連.
  • 最大性(Maximality):xiCxixj密度可達,則xjC.

從選定的核心點出發,不斷向密度可達的ϵ-鄰域擴張,得到一個包含核心點和邊界點的最大化區域,區域中任意兩點密度相連。

演算法原理

演算法

class sklearn.cluster.DBSCAN(eps=0.5,
                             min_samples=5,
                             metric=’euclidean’,
                             metric_params=None,
                             algorithm=’auto’,
                             leaf_size=30,
                             p=None,
                             n_jobs=1
)

Reference

Ester M, Kriegel H P, Xu X. A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise[C]// International Conference on Knowledge Discovery and Data Mining. AAAI Press, 1996:226-231.