创建最近邻搜索器对象
创建ns.
= createns (X
)ExhaustiveSearcher
或者KDTreeSearcher
使用N——- - - - - -K训练数据的数字矩阵X
.
载入费雪的虹膜数据集。
负载鱼腥草X = MEAS;[N,K] =尺寸(X)
n=150
K = 4
X
有150个观察和4个预测因子。
使用整个数据集作为训练数据准备详尽的最近邻居搜索。
Mdl1 = ExhaustiveSearcher (X)
Mdl1=带属性的ExtreatveSearcher:距离:“欧几里德”距离参数:[]X:[150x4双精度]
Mdl1
是一个ExhaustiveSearcher
模型对象及其特性将显示在命令窗口中。对象包含有关经过训练的算法的信息,例如距离度量。可以使用点表示法更改特性值。
另外,您也可以通过使用准备详尽的最近邻居搜索createns
并具体说明“详尽”
作为搜索方法。
Mdl2 = createns (X,“NSMethod”,“详尽”)
MDL2 = ExhaustiveSearcher具有属性:距离: '欧几里得' DistParameter:[] X:[150x4双]
Mdl2
也是一个ExhaustiveSearcher
模型对象,它等价于Mdl1
.
搜寻X
对于最接近一批查询数据的邻居,传递ExhaustiveSearcher
模型对象和要创建的查询数据knnsearch
或者rangesearch
.
长出了四维K使用欧几里得距离的d树。
载入费雪的虹膜数据集。
负载鱼腥草X = MEAS;[N,K] =尺寸(X)
n=150
K = 4
X
有150个观察和4个预测因子。
长出了四维K使用整个数据集作为训练数据的d-树。
Mdl1=KDTreeSearcher(X)
Mdl1=KDTreeSearcher,属性:BucketSize:50距离:“欧几里德”距离参数:[]X:[150x4双精度]
Mdl1
是A.KDTreeSearcher
模型对象及其属性显示在命令窗口中。该对象包含有关生长的四维模型的信息Kd树,如距离度量。你可以使用点符号改变属性值。
或者,你可以种植一个Kd-树createns
.
Mdl2 = createns (X)
Mdl2=KDTreeSearcher,属性:BucketSize:50距离:“欧几里德”距离参数:[]X:[150x4双精度]
Mdl2
也是一个KDTreeSearcher
模型对象,它等价于Mdl1
.因为X
有四列,默认距离度量是欧几里德,createns
创建KDTreeSearcher
通过默认模型。
要找到最近的邻居X
对于一批查询数据,传递KDTreeSearcher
模型对象和要创建的查询数据knnsearch
或者rangesearch
.
长出Kd树使用了闵可夫斯基距离,五个指数。
加载Fisher的虹膜数据集。为花瓣尺寸创建变量。
负载鱼腥草X=meas(:,3:4);
长出Kd-树。指定指数为5的Minkowski距离。
MDL = createns(X,'距离',“明可夫斯基”,“P”5)
MDL = KDTreeSearcher与属性:BucketSize:50距离:'闵可夫斯基DistParameter:5 X:[150x2双]
因为X
有两列,距离度量为Minkowski,createns
创建KDTreeSearcher
默认情况下,模型对象.
属性创建彻底搜索器对象createns
函数。将对象和查询数据传递给knnsearch
查找函数K-最近的邻居。
载入费雪的虹膜数据集。
负载鱼腥草
从预测数据取下5个虹膜随机的查询集来使用。
rng (“默认”);%的再现性n=尺寸(平均值,1);%样本量qIdx = randsample(N,5);%查询数据索引X=meas(~ismember(1:n,qIdx),:);Y=meas(qIdx,:);
准备一个详尽的最近邻居搜索器使用的训练数据。指定找到最近的邻居马氏距离。
MDL = createns(X,'距离',“马氏)
MDL = ExhaustiveSearcher具有属性:距离:“马氏DistParameter:[4×4双] X:[145x4双]
因为距离度量是马氏度规,createns
创建一个ExhaustiveSearcher
默认情况下,模型对象。
该软件使用在训练数据中的预测结果(列)的协方差矩阵用于计算Mahalanobis距离。要显示此值,使用Mdl.DistParameter
.
Mdl.DistParameter
ans=4×40.6547 -0.0368 1.2320 0.5026 -0.0368 0.1914 -0.3227 -0.1193 1.2320 -0.3227 3.0671 1.2842 0.5026 -0.1193 1.2842 0.5800
寻找训练数据的索引(Mdl.X
),其是在查询数据的每个点的两个最近邻居(Y
).
IdxNN = knnsearch(MDL,Y,“K”, 2)
IdxNN =5×25 6 98 95 104 128 135 65 102 115
每行IdxNN
对应于查询数据的观察。列顺序对应于最近邻居的顺序相对于上升的距离。例如,基于所述马哈拉诺比斯度量,第二最近的邻居Y(3,:)
是X(128,:)
.
X
—训练数据训练数据,指定为数字矩阵。X
已N行,每个行对应于一个观察(即一个实例或示例),以及K列,每个列对应一个预测器(即一个特性)。
数据类型:单身的
|双倍的
指定可选的逗号分隔的字符对名称、值
参数。姓名
是参数名和价值
是对应的值。姓名
必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:Name1, Value1,…,的家
.
NS=createns(X,'Distance','mahalanobis')
创建一个ExhaustiveSearcher
模型对象在搜索最近邻时使用马氏距离度量。
“NSMethod”
—最近邻搜索法“kdtree”
|“详尽”
用于定义创建的对象的类型最近邻搜索方法,指定为逗号分隔的一对组成的“NSMethod”
和“kdtree”
或者“详尽”
.
“kdtree”
—createns
创建KDTreeSearcher
使用Kd树算法。
“详尽”
—createns
创建一个ExhaustiveSearcher
使用穷举搜索算法模型对象。
默认值为“kdtree”
当这三个条件为真时:
否则,默认值为“详尽”
.
例子:'NSMethod', '穷尽'
'距离'
—距离度量“欧几里得”
(默认)|距离度量名称的字符向量或字符串标量|自定义距离函数通话时使用的距离度量knnsearch
或者rangesearch
为将来的查询点查找最近的邻居,指定为逗号分隔的对,由'距离'
和字符向量或距离度量的名称或功能句柄的串标量。
对于这两种最近邻搜索器,createns
金宝app支持这些距离度量。
价值 | 描述 |
---|---|
“切比切夫” |
切比雪夫距离(最大坐标差)。 |
'城市街区' |
城市街区的距离。 |
“欧几里得” |
欧几里德距离。 |
“明可夫斯基” |
闵可夫斯基距离。默认指数是2。要指定不同的指数,请使用“P” 名称-值对参数。 |
如果createns
使用穷举搜索算法(“NSMethod”
是“详尽”
), 然后createns
也支持这些金宝app距离度量。
价值 | 描述 |
---|---|
“相关” |
1减去观测值之间的样本线性相关性(视为值序列) |
“余弦” |
1减去观测值之间夹角的余弦值(作为行向量) |
“哈明” |
海明距离,这是坐标是不同的百分比 |
“捷卡” |
1减去Jaccard系数,这是不同的非零坐标的百分比 |
“马氏 |
马氏距离 |
'seuclidean' |
标准化的欧几里得距离 |
“斯皮尔曼 |
一减观测之间的样品Spearman秩相关(作为值的序列处理的) |
如果createns
使用穷举搜索算法(“NSMethod”
是“详尽”
),那么你也可以通过指定一个自定义的距离度量功能手柄@
(例如,@distfun
).一个自定义的距离函数必须:
有表格吗功能D2 = distfun(ZI,ZJ)
.
以作为参数:
一辆一乘的汽车-K向量ZI
含有从单排X
或从查询点Y
, 在哪里K是列在数X
.
一M——- - - - - -K矩阵ZJ
包含多行的X
或者Y
, 在哪里M是一个正整数。
归还M-乘1的距离向量D2
, 在哪里D2(
是观测之间的距离J
)ZI
和ZJ(
.J
,:)
有关更多详细信息,请参阅距离度量.
例子:“距离”,“闵可夫斯基
“P”
—Minkowski距离度量的指数2.
(默认)|正标量'BucketSize'
—在每个叶节点的数据点的最大数50.
(默认)|正整数的每个叶节点的最大数据点数Kd-树,指定为逗号分隔对,由'BucketSize'
一个正整数。
此参数仅在创建KDTreeSearcher
模型对象。
例子:“BucketSize”,10
数据类型:单身的
|双倍的
ns.
-最近邻搜索器ExhaustiveSearcher
模型对象|KDTreeSearcher
模型对象最近邻居搜索,返回一个ExhaustiveSearcher
模型对象或KDTreeSearcher
模型对象。
一旦您创建了最近邻搜索模型对象,您就可以通过使用执行最近邻搜索,在训练数据中找到与查询数据相邻的点knnsearch
或半径使用搜索rangesearch
.
Sie Haben AUF EINEN LINK GEKLICKT,DER DIESEM MATLAB-BEFEHL ONTSPRICHT:
FührenSIE书房Befehl第三人以Eingabe在DAS MATLAB的Befehlsfenster AUS。网页浏览器unterstützenkeine MATLAB的Befehle。
您还可以从以下列表中选择网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站未针对您所在地的访问进行优化。