KDTreeSearcher
Create Kd-tree nearest neighbor searcher
Description
KDTreeSearcher
model objects store the results of a nearest
neighbor search that uses the Kd-tree algorithm. Results include the
training data, distance metric and its parameters, and maximum number of data points in
each leaf node (that is, the bucket size). The Kd-tree algorithm
partitions an n-by-K data set by recursively
splitting n points in K-dimensional space into a
binary tree.
Once you create a KDTreeSearcher
model object, you can search the
stored tree to find all neighboring points to the query data by performing a nearest
neighbor search using knnsearch
or a radius search using
rangesearch
. The Kd-tree
algorithm is more efficient than the exhaustive search algorithm when
K is small (that is, K ≤ 10), the training and
query sets are not sparse, and the training and query sets have many
observations.
Creation
Use either the createns
function or the
KDTreeSearcher
function (described here) to create a
KDTreeSearcher
model object. Both functions use the same syntax
except that the createns
function has the 'NSMethod'
name-value pair
argument, which you use to choose the nearest neighbor search method. The
createns
function also creates an ExhaustiveSearcher
object. Specify 'NSMethod','kdtree'
to create a KDTreeSearcher
object. The default is
'kdtree'
if K ≤ 10, the training data is not
sparse, and the distance metric is Euclidean, city block, Chebychev, or
Minkowski.
Description
grows a default Kd-tree (Mdl
= KDTreeSearcher(X
)Mdl
) using the
n-by-K numeric matrix of training data
(X
).
specifies additional options using one or more name-value pair arguments. You
can specify the maximum number of data points in each leaf node (that is, the
bucket size) and the distance metric, and set the distance metric parameter
(Mdl
= KDTreeSearcher(X
,Name,Value
)DistParameter
)
property. For example,
KDTreeSearcher(X,'Distance','minkowski','BucketSize',10)
specifies to use the Minkowski distance when searching for nearest neighbors and
to use 10
for the bucket size. To specify
DistParameter
, use the P
name-value pair argument.
Input Arguments
Properties
Object Functions
knnsearch | Find k-nearest neighbors using searcher object |
rangesearch | Find all neighbors within specified distance using searcher object |
Examples
Extended Capabilities
Version History
Introduced in R2010a