DBscan简单记录

来源:互联网 发布:java 接口开发 编辑:程序博客网 时间:2024/05/22 14:12

DBscan(density-based spatial clustering of application with noise)基于密度聚类的方法
两个参数(Eps,MinPts)   Eps:定义密度时的邻域半径   MinPts:定义核心点时的阀值(形成一个聚类的最少点的数量)
Eps和MinPtsd(用e和M表示)
邻域,密度,核心点,边界点,噪音点(全部的点=核心点+边界点+噪音点)
直接密度可达(y是x的直接密度可达:y在核心点x邻域内)
密度可达(直接密度可达的传递闭包)
密度相连(y和z均是从x密度可达)

step1:初始化
1.给定参数领域半径小e,和形成一个聚类的最少点的数量M
2.生成N【e】(i) i=1,2,3,...,N 
3.令k=1; m[i]=0,i=1,2,3,...,N
4.令I=(1,2,3,...,N )


step2:生成cluster标记数组


while(I!=空){
从I中任取一个i元素,I=I/{i}
if(m[i]=0){
1.T=N[i](e)
2.若|T|<M 则令m[i]=-1
3.若|T|>M{
令m[i]=k
while(T!=空){
从T中任取元素j,并令T=T/j
若m[j]=0或-1   则令m[j]=k
若|N[e](j)|>=M   则令T=T并N[j](e)}
}
令k=k+1;
}
}

原创粉丝点击