索引实施

时间:2015-08-03 16:37:38

标签: elki

我正在尝试为我的PH树索引实现矩形范围查询,我有以下问题:

  1. 查看现有的实现,所有存储的数据看起来都是点数据(而不是由左下角或右上角定义的矩形/长方体/ ...)。真的吗?或者我如何从关系中判断出我是否存储了点和矩形,以及从哪里可以得到矩形的左上角?
  2. 是否有一个查询类型只返回位于矩形中的所有点(或返回与给定查询矩形相交的所有矩形)?我查看了RangeQuery,但是从文档中可以看出它返回给定范围的最近邻居。类似地,DatabaseQuery的其他实现似乎不支持此标准查询。
  3. 我有没有办法让现有的测试来验证我的实现?使用IndexFactory注释实现@apiviz是否足够?
  4. 可能有点偏离主题:我找不到ELKI邮件列表。 website提及“用户邮件列表”以获取更新和新闻,但阻止了LMU外部的注册。该网站还提到了一个社区邮件列表,但我找不到链接,有人可以在这里发帖吗?

1 个答案:

答案 0 :(得分:1)

  1. ELKI中的关系有类型信息。

    如果类型是NumberVector,则它是点数据。我们还没有很多用于存储矩形的用例,但是你可以编写你的索引以便它可以用于例如SpatialComparable(基本上是任何类型的边界框)。

  2. 目前还没有矩形窗口查询的查询类型,但可以使用中心和加权最大范数来模拟这些查询类型。 ELKI中可能只有一个或两个使用矩形查询的数据挖掘算法。大多数可以使用索引加速的数据挖掘算法似乎都使用半径或kNN搜索。

  3. 测试的最佳方法是支持标准范围和knn查询,然后运行例如DBSCAN聚类和LOF异常值检测。如果为它实现IndexFactoryParameterizer(因此可以在MiniGUI中进行配置),那么这应该很容易测试。

    @apiviz注释仅用于JavaDoc,我们一直在考虑使用不同的UML图工具。

  4. 抱歉,邮件列表注册页面目前无法访问;系统管理员似乎有一个未解决的安全问题。我已经更新了网页,其中包含如何通过电子邮件订阅的说明。