【问题标题】:clustering a set of rectangles聚类一组矩形
【发布时间】:2013-05-18 19:43:06
【问题描述】:
我有一组矩形,我需要根据它们之间的欧几里德距离将它们聚集在一起。附图中解释了这种情况。 。
一种可能的方法是取每个矩形的中心并使用 K 均值对中心点进行聚类(距离函数将是 XY 平面中的欧几里德距离)。但是,我想知道是否有任何其他方法可以解决这个问题,它不是通过中心点来近似矩形,而是考虑到矩形的实际形状。
【问题讨论】:
标签:
algorithm
image-processing
cluster-analysis
【解决方案1】:
查看DBSCAN 和OPTICS 等算法,只要您可以定义它们之间的距离(例如矩形到矩形的最小距离),它们就可以用于任意数据类型。
K-means 可能不太好,因为它是为具有平方欧几里得距离(= 平方和,簇内方差)的点数据设计的。
【解决方案2】:
制定此问题的一种方法是查看每个矩形i,以及每对矩形(i,j) 的距离为d(i,j),然后从中形成一个距离矩阵。这个距离度量 d 可以是矩形中心之间的距离或更花哨的东西,比如矩形上最近点之间的距离。
然后,应用一个将距离矩阵作为输入的聚类算法,将距离矩阵D 定义为元素(i,j) 为d(i,j) 的矩阵。
相关:Clustering with a distance matrix
Anony-Mousse 的回答对给定距离矩阵的聚类算法提供了一些不错的建议。