DBSCAN算法


簡單的說就是根據一個根據對象的密度不斷擴展的過程的算法。一個對象O的密度可以用靠近O的對象數來判斷。學習DBSCAN算法,需要弄清楚幾個概念: 

一:基本概念

1.:對象O的是與O為中心,為半徑的空間,參數,是用戶指定每個對象的領域半徑值。

2.MinPts(領域密度閥值):對象的的對象數量。

3.核心對象:如果對象O的對象數量至少包含MinPts個對象,則該對象是核心對象。

4.直接密度可達:如果對象p在核心對象q的內,則p是從q直接密度可達的。

5.密度可達:在DBSCAN中,p是從q(核心對象)密度可達的,如果存在對象鏈,使得,從關於和MinPts直接密度可達的,即

內,則密度可達。

6.密度相連:如果存在對象,使得對象都是從q關於和MinPts密度可達的,則稱是關於和MinPts密度相連的。

二:密度可達和密度相連

圖1基於密度的聚類中的密度可達和密度相連性

由上圖可看出m,p,o.r 都是核心對象,因為他們的內都只是包含3個對象。

1.對象q是從m直接密度可達的。對象m從p直接密度可達的。

2.對象q是從p(間接)密度可達的,因為q從m直接密度可達,m從p直接密度可達。

3.r和s是從o密度可達的,而o是從r密度可達的,所有o,r和s都是密度相連的。

 

三:DBSCAN聚類過程

 1.DBSCAN發現簇的過程

       初始,給定數據集D中所有對象都被標記為“unvisited”,DBSCAN隨機選擇一個未訪問的對象p,標記p為“visited”,並檢查p的是否至少包含MinPts個對象。如果不是,則p被標記為噪聲點。否則為p創建一個新的簇C,並且把p的中所有對象都放在候選集合N中。DBSCAN迭代地把N中不屬於其他簇的對象添加到C中。在此過程中,對應N中標記為“unvisited”的對象,DBSCAN把它標記為“visited”,並且檢查它的,如果至少包含MinPts個對象,則中的對象都被添加到N中。DBSCAN繼續添加對象到C,直到C不能擴展,即直到N為空。此時簇C完成生成,輸出。

     為了找到下一個簇,DBSCAN從剩下的對象中隨機選擇一個未訪問過的對象。聚類過程繼續,直到所有對象都被訪問。

2.DBSCAN聚類算法流程

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM