mrgloom
Почему именно RTree ?
он поддерживает поиск соседей.
почему не kd-tree например?
все деревья вроде как используются для range searches and nearest neighbor searches, единственное там какие то проблемы если длина вектора большая
http://en.wikipedia.org/wiki/Curse_of_dimensionality потренируйтесь Доказать: не существует алгоритма трудоемкость которого не зависит от длины векторов. Уверен легко найдете доказательство.
я хочу не от длины вектора, а от размера базы.
и понятное что будет зависеть, но просто если грузить всё порциями и проверять последовательно, то скорость будет зависеть прямопропорционально от размера базы, а если построить что то типа дерева, то быстрее.
Проблема в том, что я не знаю какая структура оптимальна + еще раз повторюсь
я ищу готовое решение для больших баз которые не влезают в памятьт.к. для обычных случаев такие варианты есть
http://www.cs.ubc.ca/~mariusm/index.php/FLANN/FLANNhttp://www.cs.umd.edu/~mount/ANN/Для начала надо определить критерий оптимальности, а потом можно обсуждать.
допустим у меня было N сэмплов и там k классов и я взял и разбил на тестовую и обучающую выборки и влоб посчитал через евклидову метрику
по алгоритму
https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithmполучилось какое то кол-во правильных ответов.
Затем я хочу размерность данных уменьшить через PCA чтобы считать быстрее, мне надо узнать какое мин. кол-во главных компонент взять чтобы кол-во правильных ответов не уменьшилось.
кстати если в данных изначально был шум, то уменьшение размерности вроде как даже может улучшить результат.