I have a code to classify an image.
<code>training1 = xlsread('Data Train');
% mentions the location of the training data matrix in the excel file
training = [training1(:,1) training1(:,2) training1(:,3) training1(:,4) training1(:,5) training1(:,6) training1(:,7) training1(:,8) training1(:,9) training1(:,10) training1(:,11) training1(:,12) training1(:,13) training1(:,14) training1(:,15) training1(:,16) training1(:,17) training1(:,18) training1(:,19) training1(:,20) training1(:,21) training1(:,22) training1(:,23) training1(:,24)];
% mentions input data variables
Z=[MeanR MeanG MeanB MeanH MeanS MeanV VarRed VarGreen VarBlue VarH VarS VarV RangeR RangeG RangeB RangeH RangeS RangeV sdR sdG sdB sdH sdS sdV];
%perform knn classification
result = knnsearch(training,Z);
if (result>=1 && result<=20)
set(handles.EditBox,'string','Raw');
elseif (result>=21 && result<=40)
set(handles.EditBox,'string','Undercook');
elseif (result>=41 && result<=60)
set(handles.EditBox,'string','Cook');
elseif (result>=61 && result<=80)
set(handles.EditBox,'string','Rotten');
end
</code>
<code>training1 = xlsread('Data Train');
% mentions the location of the training data matrix in the excel file
training = [training1(:,1) training1(:,2) training1(:,3) training1(:,4) training1(:,5) training1(:,6) training1(:,7) training1(:,8) training1(:,9) training1(:,10) training1(:,11) training1(:,12) training1(:,13) training1(:,14) training1(:,15) training1(:,16) training1(:,17) training1(:,18) training1(:,19) training1(:,20) training1(:,21) training1(:,22) training1(:,23) training1(:,24)];
% mentions input data variables
Z=[MeanR MeanG MeanB MeanH MeanS MeanV VarRed VarGreen VarBlue VarH VarS VarV RangeR RangeG RangeB RangeH RangeS RangeV sdR sdG sdB sdH sdS sdV];
%perform knn classification
result = knnsearch(training,Z);
if (result>=1 && result<=20)
set(handles.EditBox,'string','Raw');
elseif (result>=21 && result<=40)
set(handles.EditBox,'string','Undercook');
elseif (result>=41 && result<=60)
set(handles.EditBox,'string','Cook');
elseif (result>=61 && result<=80)
set(handles.EditBox,'string','Rotten');
end
</code>
training1 = xlsread('Data Train');
% mentions the location of the training data matrix in the excel file
training = [training1(:,1) training1(:,2) training1(:,3) training1(:,4) training1(:,5) training1(:,6) training1(:,7) training1(:,8) training1(:,9) training1(:,10) training1(:,11) training1(:,12) training1(:,13) training1(:,14) training1(:,15) training1(:,16) training1(:,17) training1(:,18) training1(:,19) training1(:,20) training1(:,21) training1(:,22) training1(:,23) training1(:,24)];
% mentions input data variables
Z=[MeanR MeanG MeanB MeanH MeanS MeanV VarRed VarGreen VarBlue VarH VarS VarV RangeR RangeG RangeB RangeH RangeS RangeV sdR sdG sdB sdH sdS sdV];
%perform knn classification
result = knnsearch(training,Z);
if (result>=1 && result<=20)
set(handles.EditBox,'string','Raw');
elseif (result>=21 && result<=40)
set(handles.EditBox,'string','Undercook');
elseif (result>=41 && result<=60)
set(handles.EditBox,'string','Cook');
elseif (result>=61 && result<=80)
set(handles.EditBox,'string','Rotten');
end
Does the knnsearch
syntax only default k with a value of 1?
How can I get the k value in knnsearch
to be 5?
when I try to change it to
<code>k = 5;
result = knnsearch(training,Z,'K',k);
</code>
<code>k = 5;
result = knnsearch(training,Z,'K',k);
</code>
k = 5;
result = knnsearch(training,Z,'K',k);
the system does not display the classification result.
Your help will really help me to understand more about this knn project!
1