Использование PyLucene в качестве классификатора K-NN - PullRequest
0 голосов
/ 06 апреля 2011

У меня есть набор данных, состоящий из миллионов примеров, где каждый пример содержит 128 непрерывных функций, классифицированных по имени. Я пытаюсь найти большую надежную базу данных / индекс для использования в качестве классификатора KNN для многомерных данных. Я попытался Классификатор IBK Weka , но он задыхается от такого большого количества данных, и даже тогда он должен быть загружен в память. Lucene , особенно через интерфейс PyLucene, будет альтернативой?

Я нашел Lire , который, похоже, использует Lucene аналогичным образом, но после просмотра кода я не уверен, как они его выполняют или же это одно и то же Я пытаюсь сделать.

Я понимаю, что Lucene разработан как инструмент индексирования текста, а не как классификатор общего назначения, но возможно ли использовать его таким образом?

Ответы [ 2 ]

1 голос
/ 06 апреля 2011

Lucene не кажется правильным выбором, учитывая то, что вы нам сказали. Lucene даст вам способ хранения данных, но с точки зрения поиска он не предназначен для выполнения каких-либо действий, кроме поиска по текстовым строкам.

Поскольку K-NN очень прост, вам лучше создать собственное хранилище данных в типичной СУБД или что-то вроде Berkeley DB. Вы можете создавать ключи / индикаторы на основе суб-гиперкубов различных измерений, чтобы ускорить процесс - начать с корзины классифицируемого предмета и двигаться наружу ...

0 голосов
/ 11 апреля 2011

Это делается в Lucene уже с геопространственными поисками . Конечно, во встроенном геопространственном поиске используются только два измерения, поэтому вам придется его немного изменить. Но основная идея использования запросов с числовым диапазоном будет работать.

(Примечание: я не знаю никого, кто бы делал многомерные kNN с Lucene. Поэтому я не могу комментировать, как быстро это будет.)

...