1.DBSCAN算法名词概念
邻域(Eps):以给定对象为圆心,半径内的区域为该对象的邻域
核心对象:对象的邻域内至少有MinPts(设定的阈值)个对象,则该对象为核心对象
边界对象:对象的领域小于MinPts个对象,但是在某个核心对象的邻近域中
离群点(噪声):对象的领域小于MinPts个对象,且不在某个核心对象的邻域中
直接密度可达:如果a是核心对象,b在a的邻域内,则a到b是直接密度可达
密度可达:a到b是直接密度可达,b到c是直接密度可达,则a到c是密度可达
密度相连:a到b是密度可达,a到c也是密度可达,则b到c是密度相连的
2.DBSCAN算法步骤:
1.输入两个参数:邻域半径(Eps),邻域密度阈值(MinPts)
2.找一个未访问的点
3.如果该点是核心点,访问所有从该点密度可达的点,形成一个簇
4.如果该点是边界点,跳出循环,寻找下一个点
3.DBSCAN算法例题
DBSCAN聚类过程:
第
1
步,在数据库中选择一点
1
,由于在以它为圆心的,以
1
为半径的圆内包含
2
个点
,因此它不是核心点,选择下一个点。
第
2
步,在数据库中选择一点
2
,由于在以它为圆心的,以
1
为半径的圆内包含
2
个点,因此它不是核心点,选择下一个点。
第
3
步,在数据库中选择一点
3
,由于在以它为圆心的,以
1
为半径的圆内包含
3
个点,因此它不是核心点,选择下一个点。
第
4
步,在数据库中选择一点
4
,由于在以它为圆心的,以
1
为半径的圆内包含
5
个点,因此它是核心点,寻找从它出发可达的点
,聚出的新类C1{1
,
3
,
4
,
5
,
9
,
10
,
12}
,选择下一个点。
第
5
步,在数据库中选择一点
5
,已经在簇
1
中,选择下一个点。
第6
步,在数据库中选择一点
6
,由于在以它为圆心的,以
1
为半径的圆内包含
3
个点,因此它不是核心点,选择下一个点。
第7步,在数据库中选择一点7,由于在以它为圆心的,以1为半径的圆内包含5个点,因此它是 核心点,寻找从它出发可达的点,聚出的新类C2{2,6,7,8,11},选择下一个点。
第
8
步,在数据库中选择一点
8
,已经在簇
2
中,选择下一个点。
第
9
步,在数据库中选择一点
9
,已经在簇
1
中,选择下一个点。
第
10
步,在数据库中选择一点
10
,已经在簇
1
中,选择下一个点。
第
11
步,在数据库中选择一点
11
,已经在簇
2
中,选择下一个点。
第
12
步,选择
12
点,已经在簇
1
中,由于这已经是最后一点所有点都以处理,程序终止。