矩形聚类方法的整理
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代码