Finden von K-nächsten Nachbarn und deren Implementierung

Ich arbeite daran, einfache Daten mit KNN mit euklidischer Distanz zu klassifizieren. Ich habe ein Beispiel dafür gesehen, was ich mit MATLAB @ machen möchtknnsearch Funktion wie unten gezeigt:

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)

Der obige Code erhält einen neuen Punkt, d. H.[5 1.45] und findet die 10 nächsten Werte zum neuen Punkt. Kann mir jemand bitte einen MATLAB-Algorithmus mit einer detaillierten Erklärung zeigen, was dasknnsearch Funktion macht? Gibt es eine andere Möglichkeit, dies zu tun?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage