我正在使用具有欧几里德距离的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)
Run Code Online (Sandbox Code Playgroud)
上面的代码采用了一个新点,即[5 1.45]找到与新点最接近的10个值.任何人都可以给我看一个MATLAB算法,详细解释该knnsearch函数的作用吗?有没有其他方法可以做到这一点?
我在MATLAB中创建了一个带有4个定义模式/类的三维随机数据集.我在数据上应用了K-means算法,以了解K-means如何根据创建的4个模式/类对我的样本进行分类.
我需要以下帮助;

我的目标是评估K-mean的准确性以及数据的变化(通过预处理)如何影响算法识别类的能力.使用MATLAB代码的示例会很有帮助!