Создайте d-дерево K самый близкий соседний искатель
Объекты модели KDTreeSearcher хранят результаты самого близкого соседнего поиска, который использует алгоритм d-дерева K. Результаты включают данные тренировки, метрику расстояния и ее параметры и максимальное количество точек данных в каждой вершине (то есть, размер блока). Алгоритм d-дерева K делит n-by-K набор данных путем рекурсивного разделения точек n в K - мерное пространство в двоичное дерево.
Если вы создаете объект модели KDTreeSearcher, можно искать сохраненное дерево, чтобы найти все соседние точки к данным о запросе путем выполнения самого близкого соседнего поиска с помощью knnsearch или поиска радиуса использование rangesearch. Алгоритм d-дерева K более эффективен, чем алгоритм исчерпывающего поиска, когда K является маленьким (то есть, K ≤ 10), обучение и наборы запроса не разреженны, и обучение и запрашивают наборы, имеют много наблюдений.
Используйте или функцию createns или функцию KDTreeSearcher (описанный здесь), чтобы создать объект модели KDTreeSearcher. Обе функции используют тот же синтаксис за исключением того, что функция createns имеет аргумент пары "имя-значение" 'NSMethod', который вы используете, чтобы выбрать самый близкий соседний метод поиска. Функция createns также создает объект ExhaustiveSearcher. Задайте 'NSMethod','kdtree', чтобы создать объект KDTreeSearcher. Значением по умолчанию является 'kdtree', если K ≤ 10, данные тренировки не разреженны, и метрика расстояния является Евклидовым, городским кварталом, Чебычевым или Минковским.
Mdl = KDTreeSearcher(X)Mdl = KDTreeSearcher(X,Name,Value) выращивает d-дерево K по умолчанию (Mdl = KDTreeSearcher(X)Mdl) с помощью n-by-K числовая матрица данных тренировки (X).
задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение". Можно задать максимальное количество точек данных в каждой вершине (то есть, размер блока) и метрика расстояния, и установить метрическое свойство (Mdl = KDTreeSearcher(X,Name,Value)DistParameter) параметра расстояния. Например, KDTreeSearcher(X,'Distance','minkowski','BucketSize',10) задает, чтобы использовать расстояние Минковскего при поиске самых близких соседей и использовать 10 для размера блока. Чтобы задать DistParameter, используйте аргумент пары "имя-значение" P.
knnsearch | Найдите соседей k-nearest, использующих объект искателя |
rangesearch | Найдите всех соседей на заданном расстоянии с помощью объекта искателя |