simulate k nearest neighbourhood
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Ahsen Feyza Dogan
le 4 Juil 2019
Réponse apportée : Ahsen Feyza Dogan
le 5 Juil 2019
Hi,
I want to simulate knn. When I add a new point on graph where other data points are on, it can predict class of it, but I don't have any idea about what to do after I upload a data set.
2 commentaires
Réponse acceptée
KSSV
le 4 Juil 2019
Play with this:
x = rand(500,1) ; y = rand(500,1) ;
l = kmeans([x y],4) ;
figure
hold on
scatter(x,y,50,l,'o','filled')
N = 10 ;
for i = 1:100
% pick any point
[ptx,pty] = getpts() ;
idx = knnsearch([x y],[ptx pty],'k',N)' ;
li = mean(l(idx)) ;
text(ptx,pty,num2str(li))
plot(ptx,pty,'*r')
plot([ptx*ones(N,1) x(idx)]',[pty*ones(N,1) y(idx)]','r')
end
11 commentaires
KSSV
le 5 Juil 2019
The result is correct in given code......code is showing up different groups/ labels. Attach your data and code to rectify the error.
KSSV
le 5 Juil 2019
Why/how for loop is a trianing? For knnsearch there wont be any training. It gets the specififed number of nearest neighbors by calculating distances.
That line of plot is to show up lines joining the picked point and it's neighbors.
Plus de réponses (1)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!