码迷,mamicode.com
首页 > 其他好文 > 详细

matlab查找最临近搜索knnsearch

时间:2019-05-14 00:38:48      阅读:332      评论:0      收藏:0      [点我收藏+]

标签:line   使用   close   syn   previous   row   example   rsize   end   

Idx = knnsearch(X,Y) finds the nearest neighbor in X for each query point in Y and returns the indices of the nearest neighbors in Idx, a column vector. Idx has the same number of rows as Y.

为Y中的每个查询点在X中查找最近的邻居,并返回IDX(列向量)中最近邻居的索引。IDX的行数与y相同。

Idx = knnsearch(X,Y,Name,Value) returns Idx with additional options specified using one or more name-value pair arguments. For example, you can specify the number of nearest neighbors to search for and the distance metric used in the search.

返回IDX,并使用一个或多个名称-值对参数指定其他选项。例如,可以指定要搜索的最近邻居的数目和搜索中使用的距离度量。

[Idx,D] = knnsearch(___) additionally returns the matrix D, using any of the input arguments in the previous syntaxes. D contains the distances between each observation in Y and the corresponding closest observations in X.

使用先前语法中的任何输入参数返回矩阵D。D包含Y中每个观测值与X中对应的最近观测值之间的距离。

举例:

Load Fisher‘s iris data set.

load fisheriris
X = meas(:,3:4); % Measurements of original flowers
Y = [5 1.45;6 2;2.75 .75]; % New flower data

Perform a knnsearch between X and the query points Y using Minkowski and Chebychev distance metrics.

使用Minkowski和chebychev距离度量在x和查询点y之间执行 knnsearch

[mIdx,mD] = knnsearch(X,Y,‘K‘,10,‘Distance‘,‘minkowski‘,‘P‘,5);
[cIdx,cD] = knnsearch(X,Y,‘K‘,10,‘Distance‘,‘chebychev‘);

Visualize the results of the two nearest neighbor searches. Plot the training data. Plot the query points with the marker X. Use circles to denote the Minkowski nearest neighbors. Use pentagrams to denote the Chebychev nearest neighbors.

可视化两个最近邻搜索的结果。绘制训练数据。用标记x绘制查询点。用圆表示Minkowski最近的邻居。用五角星表示切比雪夫最近的邻居。

gscatter(X(:,1),X(:,2),species);
line(Y(:,1),Y(:,2),‘Marker‘,‘x‘,‘Color‘,‘k‘,...
‘Markersize‘,10,‘Linewidth‘,2,‘Linestyle‘,‘none‘);
line(X(mIdx,1),X(mIdx,2),‘Color‘,[.5 .5 .5],‘Marker‘,‘o‘,...
‘Linestyle‘,‘none‘,‘Markersize‘,10);
line(X(cIdx,1),X(cIdx,2),‘Color‘,[.5 .5 .5],‘Marker‘,‘p‘,...
‘Linestyle‘,‘none‘,‘Markersize‘,10);
legend(‘setosa‘,‘versicolor‘,‘virginica‘,‘query point‘,...
‘minkowski‘,‘chebychev‘,‘Location‘,‘best‘);


技术图片


来源:https://ww2.mathworks.cn/help/stats/knnsearch.html?searchHighlight=knnsearch&s_tid=doc_srchtitle

matlab查找最临近搜索knnsearch

标签:line   使用   close   syn   previous   row   example   rsize   end   

原文地址:https://www.cnblogs.com/yibeimingyue/p/10859901.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!