我有一个由数百万个例子组成的数据集,其中每个例子包含128个用名称分类的连续值特征。我正在尝试找到一个强大的数据库/索引来用作高维数据的KNN分类器。我尝试了Weka's IBk classifier,但它对这么多数据感到窒息,即便如此,它也必须加载到内存中。 Lucene,特别是通过PyLucene接口,是否可能是替代方案?
我找到了Lire,它似乎以类似的方式使用Lucene,但在查看代码后,我不确定它们是如何将它拉下来的,或者它是否与我相同“我试图做。
我意识到Lucene被设计为文本索引工具,而不是通用分类器,但是可以这样使用吗?
答案 0 :(得分:1)
由于K-NN非常简单,您最好在典型的RDBMS或类似Berkeley DB中创建自己的数据存储。你可以根据不同尺寸的子超立方体创建关键/指示,以加快速度 - 从要分类的项目的桶开始向外移动......
答案 1 :(得分:0)
这已在Lucene已经使用geospatial searches完成。当然,built-in地理空间搜索仅使用两个维度,因此您必须稍微修改它。但是使用数值范围查询的基本思想是有效的。
(注意:我不知道有人在使用Lucene进行高维kNN。所以我不能评论它的速度有多快。)