【发布时间】:2012-12-04 02:07:24
【问题描述】:
我正在尝试实现质量阈值聚类算法。它的大纲(取自here)如下:
- 初始化集群允许的阈值距离和最小集群大小
- 为每个数据点构建一个候选聚类,包括最近的点、下一个最近的点等,直到聚类的距离超过阈值
- 将点数最多的候选集群保存为第一个真正的集群,并删除集群中的所有点,不再考虑
- 重复使用减少的点集,直到不能再形成具有最小聚类大小的聚类
我一直在阅读一些最近邻搜索算法和空间分区数据结构,因为它们似乎是我需要的那种东西,但我无法确定使用哪一种,或者我是否应该寻找在别的事情上。
我想自己实现数据结构以用于教育目的,我需要一个可以连续返回某个点的最近点的数据结构。但是,由于我不知道需要查询的次数(即直到超过阈值),所以我不能使用 k-最近邻算法。我一直在研究四叉树和 k-d 树。
此外,由于该算法不断构建新的候选集群,因此使用修改后的数据结构会很有趣,该结构使用缓存信息来加速后续查询(同时考虑点删除)。
【问题讨论】:
-
虽然到目前为止我收到的对问题的反馈非常有用,但他们都没有真正回答这些问题,所以我认为最好不要接受任何问题。
标签: data-structures language-agnostic cluster-analysis threshold