I'm trying to simulate 3 nearest neighbour classification without using the builtin matlab functions. I was able to 1 nearest neigbhor however i am unable to extend it to more
Mostra commenti meno recenti
%% code for 1 nearest neighbor classification
total_num_test_cases = num_test_cases * 5; %75
total_num_train_cases = num_train_cases * 5; %175
% Create a vector to store assigned labels
inferredLabels = zeros(1, total_num_test_cases);
% This loop cycles through each unlabelled item:
for unlabelledCaseIdx = 1:total_num_test_cases
unlabelledCase = testingSet(unlabelledCaseIdx, :);
% As any distance is shorter than infinity
shortestDistance = inf;
shortestDistanceLabel = 0; % Assign a temporary label
% This loop cycles through each labelled item:
for labelledCaseIdx = 1:total_num_train_cases
labelledCase = trainingSet(labelledCaseIdx, :);
% Calculate the Euclidean distance:
currentDist = euc(unlabelledCase, labelledCase);
% Check the distance
if currentDist < shortestDistance
shortestDistance = currentDist;
shortestDistanceLabel = trainingTarget(labelledCaseIdx);
end
end % inner loop
% Assign the found label to the vector of inferred labels:
inferredLabels(unlabelledCaseIdx) = shortestDistanceLabel
end % outer loop
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su Structural Mechanics in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
