使用PyLucene作为K-NN分类器

我有一个包含数百万个样本的数据集,每个样本包含128个连续值特征,并以名称进行分类。我正在寻找一个大型且稳健的数据库/索引,用于高维数据的KNN分类器。我尝试过Weka的IBk分类器,但它在处理如此大量的数据时会出现问题,即便如此,它也需要加载到内存中。通过PyLucene接口使用Lucene是否可能是一个替代方案?

我发现了Lire,它似乎以类似的方式使用Lucene,但在审查代码后,我不确定他们是如何实现的,或者这是否与我尝试做的事情相同。

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


回答:

根据你提供的信息,Lucene似乎不是合适的选择。Lucene可以为你提供存储数据的方式,但在检索方面,它仅设计用于搜索文本字符串。

由于K-NN非常简单,你可能更适合在典型的关系数据库管理系统(RDBMS)或类似Berkeley DB的东西中创建自己的数据存储。你可以根据各个维度的子超立方体创建键/索引来加速处理——从要分类的项目的桶开始,然后向外扩展…

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注