what is the 'NSMethod','exhaustive' k-nearest neighbor classifier

조회 수: 5 (최근 30일)
Kong
Kong 2020년 4월 11일
댓글: Kong 2020년 4월 17일
Hello.
I am using the k-nearest neighbor classifier as the below code.
Could you explain what 'NSMethod','exhaustive' are?
Is it related to distance metric learning? (It learns a metric that pulls the neighbor candidates near, while pushes near data from different classes out of the target neighbors margin.) I got a high accuracy than I expected.
clear all
close all
for i = 2:30:750
X = csvread('kth_optical_only.csv');
Y = csvread('kth_optical_only_class1.csv');
X = X(:,1:i);
Mdl = fitcknn(X,Y,'NumNeighbors',3,...
'NSMethod','exhaustive','Distance','cosine',...
'Standardize',1);
rng(1); % For reproducibility
CVKNNMdl = crossval(Mdl, 'KFold', 5);
classAccuracy(i) = 100 - kfoldLoss(CVKNNMdl, 'LossFun', 'ClassifError')*100;
end

채택된 답변

Divya Gaddipati
Divya Gaddipati 2020년 4월 13일
Hi,
NSMethod is the Nearest neighbor search method, specified as either 'kdtree' or 'exhaustive'.
  • 'kdtree' — Creates and uses a Kd-tree to find nearest neighbors.
  • 'exhaustive' — Uses the exhaustive search algorithm. When predicting the class of a new point xnew, the algorithm computes the distance values from all points in X to xnew to find nearest neighbors.
For information on exhaustive and kdtree based searching, you can refer to the following links:
Hope this helps!

추가 답변 (0개)

카테고리

Help CenterFile 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!

Translated by