1. 程式人生 > >Python機器學習——DBSCAN聚類

Python機器學習——DBSCAN聚類

  密度聚類(Density-based Clustering)假設聚類結構能夠通過樣本分佈的緊密程度來確定。DBSCAN是常用的密度聚類演算法,它通過一組鄰域引數(ϵMinPts)來描述樣本分佈的緊密程度。給定資料集D={x⃗ 1x⃗ 2x⃗ 3...x⃗ N},資料集屬性定義如下。

  • ϵ-鄰域Nϵ(x⃗ i)={x⃗ jD|distance(x⃗ i,x⃗ j)ϵ},Nϵ(x⃗ i)包含了樣本集D中與x⃗ i距離不大於ϵ的所有樣本。

  • 核心物件core object:若|Nϵ(x⃗ i)|MinPts,則稱x⃗ i是一個核心物件。即:若x⃗ iϵ-鄰域中至少包含MinP

    ts個樣本,則稱x⃗ i是一個核心物件。

  • 密度直達directly density-reachable:若x⃗ i是一個核心物件,且x⃗ jNϵ(x⃗ i),則稱x⃗ jx⃗ i密度直達,記作x⃗ i–>x⃗ j

  • 密度可達density-reachable:對於x⃗ ix⃗ j,若存在樣本序列(p⃗ 0p⃗ 1p⃗ 2...p⃗ mp⃗ m+1),其中p⃗ 0=x⃗ ip⃗ m+1=x⃗ jp⃗ sD,s=1,2,...,m。如果p⃗ s+1