Я работаю над распознаванием выражений лица.я сделал набор данных, содержащий функции и классы из 213 изображений.
Шаг 1: Каждая строка моего набора данных представляет особенности 1 изображения.так для 213 изображений 213 строк Step2: последний столбец представляет классы как;1,2,3,4,5,6,7 Я использовал fitcsvm, это дает отличные результаты, но теперь я хочу использовать knn.
ВОПРОСЫ
1- Какиспользовать fitcknn или любой классификатор knn для классификации
2- вместе с перекрестной проверкой
3- и для определения точности точности и отзыва
помогите мне с этим кодом
clc;
close all;
data = load(fullfile('.', 'Features', 'jaffe_features.txt'));
% features_train = data(1:128,:);
% features_test = data(128:end,:);
nRows = size(data,1);
randRows = randperm(nRows); % generate random ordering of row indices
features = data(randRows(1:end),:);
labels1 = data(:,end);
[labels] = labels1;
Mdl = fitcknn(features,labels,'NumNeighbors',5,...
'ClassNames',{'1','2','3','4','5','6','7'},'Distance','euclidean', 'Standardize',1);
loss = resubLoss(Mdl);
CVMdl = crossval(Mdl);
classError = kfoldLoss(CVMdl);
label = predict(Mdl,features);
% plot confusion(features_test,idx)
% oofLabel = kfoldPredict(CVMdl);
% ConfMat = confusionmat(labels_test,label);
accuracy=confusionmatStats_2(labels_test,label);
% [m,n]=size(label);
%
% count=0;
% for i=1:m
% if(strcmp(labels_test(i),label(i)))
% count=count+1;
% end
% end
% С уважением