Plot data according th k_dist chart using KNNN
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!