Создать поиск ближайшего соседнего дерева Kd
KDTreeSearcher объекты модели хранят результаты поиска ближайшего соседа, использующего алгоритм Kd-tree. Результаты включают обучающие данные, метрику расстояния и ее параметры, а также максимальное количество точек данных в каждом конечном узле (то есть размер интервала). Алгоритм Kd-tree разбивает набор данных n-by-K рекурсивным разделением n точек в K-мерном пространстве на двоичное дерево.
После создания KDTreeSearcher объект модели, можно выполнить поиск в сохраненном дереве для поиска всех соседних точек с данными запроса, выполнив поиск ближайшего соседа с помощью knnsearch или поиск по радиусу с использованием rangesearch. Алгоритм Kd-дерева более эффективен, чем алгоритм исчерпывающего поиска, когда K мал (то есть K ≤ 10), наборы обучения и запросов не разрежены, а наборы обучения и запросов имеют много наблюдений.
Используйте либо createns функции или KDTreeSearcher (описана здесь) для создания KDTreeSearcher объект модели. Обе функции используют один и тот же синтаксис, за исключением того, что createns имеет функцию 'NSMethod' аргумент пары имя-значение, который используется для выбора метода поиска ближайшего соседа. createns функция также создает ExhaustiveSearcher объект. Определить 'NSMethod','kdtree' для создания KDTreeSearcher объект. Значение по умолчанию: 'kdtree' если K ≤ 10, тренировочные данные не разрежены, а метрика расстояния евклидова, городского блока, Чебычева или Минковского.
вырастает Kd-дерево по умолчанию (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-ближайших соседей с помощью объекта поиска |
rangesearch | Поиск всех соседей на указанном расстоянии с помощью объекта поиска |