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

6 vues (au cours des 30 derniers jours)
Kong
Kong le 11 Avr 2020
Commenté : Kong le 17 Avr 2020
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

Réponse acceptée

Divya Gaddipati
Divya Gaddipati le 13 Avr 2020
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!

Plus de réponses (0)

Catégories

En savoir plus sur Statistics and Machine Learning Toolbox dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by