0

我有一个由数百万个示例组成的数据集,其中每个示例包含 128 个按名称分类的连续值特征。我正在尝试找到一个强大的大型数据库/索引来用作高维数据的 KNN 分类器。我尝试了Weka 的 IBk 分类器,但它在这么多数据上窒息,即使那样它也必须加载到内存中。Lucene ,特别是通过PyLucene接口,会是一个可能的替代方案吗?

我找到了Lire,它似乎以类似的方式使用 Lucene,但是在查看代码之后,我不确定他们是如何将其拉下来的,或者这是否与我正在尝试做的事情相同。

我意识到 Lucene 被设计为文本索引工具,而不是通用分类器,但是可以以这种方式使用它吗?

4

2 回答 2

1

鉴于您告诉我们的内容,Lucene 似乎不是正确的选择。Lucene 会为您提供一种存储数据的方法,但就检索而言,它的设计目的是搜索文本字符串。

由于 K-NN 非常简单,您最好在典型的 RDBMS 或 Berkeley DB 之类的东西中创建自己的数据存储。您可以基于各种维度的子超立方体创建键/索引以加快速度 - 从要分类的项目的桶开始并向外移动......

于 2011-04-06T18:51:42.083 回答
0

这已经在 Lucene 中通过地理空间搜索完成。当然,内置的地理空间搜索仅使用二维,因此您必须对其进行一些修改。但是使用数字范围查询的基本思想是可行的。

(注意:我不知道有人用 Lucene 做高维 kNN。所以我无法评论它的速度有多快。)

于 2011-04-11T18:52:03.593 回答