矩形聚类方法的整理

1.解决问题:

1)传统的基于密度聚类的方法是基于点的聚类,但是矩形有长宽,无法完全应用基于密度聚类的方法

2)基于密度的聚类方法是统一的阈值,而有的矩形大,有的矩形小,统一的阈值并不适用于矩形的距离

2.步骤:

1)首先找到每个矩形的中心坐标,然后计算每个矩形的对角线长度diag

2)计算每两个矩形的中心矩

3)选择一个矩形作为中心,计算其他矩形与它的关联阈值thre,遍历全部矩形得出各个矩形彼此的关联情况

4)将相互能够关联的矩形归为一类,完成聚类

3.说明:如下图所示

矩形聚类方法的整理

1)关联阈值

选择矩形A为中心矩形,计算其他矩形与它的关联阈值:

以B为例:threAB=diagA+0.5* diagB

以C为例:threAC=diagA+0.5* diagC

选择矩形B为中心矩形,计算A与它的关联阈值:

threBA=diagB+0.5* diagA

可以看出以A为中心B的阈值和以B为中心A的阈值并不相同,如果两个矩形的中心距离小于其中任意一个则认为A与B存在关联。

这种方法是为了防止矩形尺寸差异过大,固定尺寸无法适应全部矩形所造成的误差

2)对于相互关联的矩形聚类

如图所示,A可以和B关联,B可以和D关联,则进行聚类时,ABD聚为一类

本人已将代码上传,如若有不明白的地方可以留言,或查看完整的python代码