如何解决函数pdist和knnsearch
我已经为knnsearch
函数的输出实现了这个KNN内部距离方程。
示例
Main dataset is `{ 1 ;2; 5; 10; 20 }`
Query dataset is `{ 3 }`
calculate the distance for all point
k=3
Discard 3-3=0
3-1=2
3-2=1
3-5=2
3-10=7
3-20=17
so {1;2;5} will be nearest neighbours for 3
to calculate knn in the equation
Matrix point
p 1 2 5
1 0 1 4
2 1 0 3
5 4 3 0
calculate knn-inner distance= (1+4+1+3+4+3)/6
当我检查代码时,我的代码是LDOF离群算法的一部分,我发现此部分对于多维数组不准确。这是第一次使用pdist函数,我已将其用于速度。
[Idx,Dist] = knnsearch(main,query,'k',10);
sizedata=size(Idx)
Dxp=mean(pdist(main(Idx(1,2:end),:)));
for m =2 : sizedata
d=Dxp;
Dxp=mean(pdist(main(Idx(m,:)));
% to make matrix with all knn-inner distance for all query points
Dxp=[d;Dxp];
end
我有Matlab 2018。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。