KDTreeSearcher 详解

KDTreeSearcher 详解

KDTreeSearcher模型对象存储使用Kd-tree算法的最近邻居搜索的结果。 结果包括训练数据,距离度量及其参数,以及每个叶节点中数据点的最大数量(即存储桶大小)。 Kd树算法通过将K维空间中的n个点递归地分割为二叉树来对n×K数据集进行分区。
创建KDTreeSearcher模型对象后,可以通过使用knnsearch执行最近的邻居搜索或使用rangesearch进行半径搜索来搜索存储的树以找到查询数据的所有相邻点。 当K较小(即K≤10),训练和查询集不稀疏(稀疏矩阵(英语:sparse matrix),在数值分析中,是其元素大部分为零的矩阵。反之,如果大部分元素都非零,则这个矩阵是稠密的)且训练和查询集有很多观察结果时,Kd-tree算法比穷举搜索算法更有效。

创建

使用createns函数或KDTreeSearcher函数(在此进行描述)创建KDTreeSearcher模型对象。 这两个函数使用相同的语法,不同之处在于createns函数具有“ NSMethod”名称/值对参数,您可以使用它来选择最近的邻居搜索方法。 createns函数还创建一个ExhaustiveSearcher对象。 指定“ NSMethod”,“ kdtree”以创建KDTreeSearcher对象。 如果K≤10,则默认值为“ kdtree”,训练数据不稀疏,距离度量为欧几里得,城市街区,切比雪夫或Minkowski。

语法

Mdl = KDTreeSearcher(X)
Mdl = KDTreeSearcher(X,Name,Value)
解析
Mdl = KDTreeSearcher(X)
使用训练数据(X)的n×K数字矩阵来生长默认的Kd树(Mdl)。
Mdl = KDTreeSearcher(X,Name,Value)
使用一个或多个名称-值对参数指定其他选项。 您可以在每个叶节点中指定最大数据点数(即存储桶大小)和距离度量,并设置距离度量参数(DistParameter)属性。 例如,KDTreeSearcher(X,‘Distance’,‘minkowski’,‘BucketSize’,10)指定在搜索最近的邻居时使用Minkowski距离,并使用10作为存储桶大小。 要指定DistParameter,请使用P名称/值对参数。

X — Training data
numeric matrix
训练Kd树的训练数据,指定为数字矩阵。 X具有n行,每行对应于一个观察值(即一个实例或示例),以及K列,每列对应于一个预测变量(即一个要素)。
名称-值对参数
指定可选的逗号分隔的名称,值参数对。 Name是参数名称,Value是相应的值。 名称必须出现在引号中。 您可以按任意顺序将多个名称和值对参数指定为Name1,Value1,…,NameN,ValueN。

你可能感兴趣的:(MATLAB)