Создайте 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 | Найдите всех соседей на заданном расстоянии с помощью объекта искателя |