MATLAB Answers

Plot data according th k_dist chart using KNNN

1 view (last 30 days)
shawin
shawin on 26 Feb 2017
Edited: shawin on 26 Feb 2017
I have used KNN to detect the kth items near a specific point according to the code bellow, But iam not sure how can i use KNN to produce k-dist chart for my dataset , it help to detect epsilon :
clc;
clear all;
%%%%%%%%%%%%%%%%%%
load fisheriris
x=meas(:,3:4);
k=5;
newpoint=[ 5 1.45]
%%%%%%%%%%%%%%%%%%
function [neighborIds neighborDistances,x_closest]= kNearestNeighbors(dataMatrix, queryMatrix, k)
neighborIds = zeros(size(queryMatrix,1),k);
neighborDistances = neighborIds;
numDataVectors = size(dataMatrix,1);
numQueryVectors = size(queryMatrix,1);
for i=1:numQueryVectors,
dist = sum((repmat(queryMatrix(i,:),numDataVectors,1)-dataMatrix).^2,2);
[sortval sortpos] = sort(dist,'ascend');
neighborIds(i,:) = sortpos(1:k);
x_closest=dataMatrix(neighborIds,:);
neighborDistances(i,:) = sqrt(sortval(1:k));
end

  0 Comments

Sign in to comment.

Answers (0)