Как использовать fitcknn для нескольких классов? - PullRequest
0 голосов
/ 27 сентября 2018

Я работаю над распознаванием выражений лица.я сделал набор данных, содержащий функции и классы из 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

% С уважением

...