我正在使用具有欧几里得距离的KNN对简单数据进行分类。我已经看到了我想通过MATLAB knnsearch函数完成此操作的示例,如下所示:
load fisheriris
x = meas(:,3:4);
gscatter(x(:,1),x(:,2),species)
newpoint = [5 1.45];
[n,d] = knnsearch(x,newpoint,'k',10);
line(x(n,1),x(n,2),'color',[.5 .5 .5],'marker','o','linestyle','none','markersize',10)
上面的代码获取一个新点,即[5 1.45]找到最接近该新点的10个值。谁能给我展示一个MATLAB算法,并详细说明该knnsearch函数的作用?还有其他方法吗?