4

我正在尝试使用 R 树实现 DBSCAN。我们可以以 R 树的形式存储数据。所以我的问题是如何将实时数据存储在 R 树中以及我应该如何实现区域查询以找到一个点的邻域?

4

2 回答 2

2

首先实现 R-Trees,然后是 DBSCAN。

至于实时,您可能想研究数据流的专门聚类算法。

于 2011-11-25T17:43:26.787 回答
0

我不确定您所说的实时数据是什么意思。如果您提到更改数据或流数据,您也可以从 R-tree 中删除过时的内容。如果您的意思是您的数据也具有时间维度,那么您可以简单地将 R-tree 管理的系数数量扩展到 (x,y,t) - 我假设您使用简单的双变量版本。

如果要实现 DBSCAN,则需要执行范围查询以计算点周围球面区域的密度。因此,您的区域查询应该能够处理球形查询区域(就此而言,我还建议您查看 Shinichi Satoh 的 SR-Tree,可能会有所帮助)。同样,如果您的实时数据是指您的数据具有时间特征,您可能需要考虑使用椭圆体的查询区域(允许空间和时间特征的单独缩放)。

希望有帮助:]

于 2011-10-03T16:06:58.847 回答