Encontrar vizinhos K-mais próximos e sua implementação
Estou trabalhando na classificação de dados simples usando o KNN com distância euclidiana. Eu vi um exemplo do que eu gostaria de fazer que é feito com o MATLABknnsearch
função como mostrado abaixo:
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)
O código acima leva um novo ponto, ou seja,[5 1.45]
e encontra os 10 valores mais próximos do novo ponto. Alguém pode me mostrar um algoritmo MATLAB com uma explicação detalhada do que oknnsearch
função faz? Existe alguma outra maneira de fazer isso?