Matlab使用pdist2进行高维数据时出错

时间:2016-08-02 13:21:57

标签: matlab knn

我有m个样本的13维特征向量。我试图找到每个样本的k个最近邻居。

我选择了所需的特征向量。

[m,~] = size(featurevector);
X = [];
Y = [];
for i = 1: m-1
   if (featurevector(i,14) == 3)
      X = [X;featurevector(i,1:13)];
      Y = [Y;featurevector(i,1:13)];
   end
end

我尝试计算每个点的距离

d = pdist2(X,Y,'euclidean');

直到这里工作正常。现在我想找到每个样本的k = 3个最近邻居索引,所以尝试了

[idx,dist] = knnsearch(X,Y,'k',3,'distance','euclidean');

但显示错误

Error using pdist2
       Too many input arguments.
Error in ExhaustiveSearcher/knnsearch (line 207)
   [dist,idx] = pdist2(obj.X,Y, distMetric, arg{:}, 'smallest',numNN);
Error in knnsearch (line 144)
   [idx, dist] = knnsearch(O,Y,'k',numNN, 'includeties',includeTies);

我尝试过在帮助中提到的示例。它工作正常,当样本数= 630时我无法做到。 我的编码出错了吗?

我正在使用Matlab 2015a 我的命令路径

which -all pdist2

给出

c:\toolbox\classify\pdist2.m C:\Program Files (x86)\MATLAB\MATLAB Production Server\R2015a\toolbox\stats\stats\pdist2.m % Shadowed

任何帮助表示赞赏!

0 个答案:

没有答案