10 倍のクロス検証を使用した MATLAB KNN 分類器の例に従いました。モデルのパフォーマンスを計算する段階で迷っています。下のコードを見て、分類の精度をパーセンテージで正しく取得する方法についてアドバイスをください ( %)、cVError = 1-mean(errorMat) の部分がわかりません。次に、fitcknn 関数と knn.predict 関数を使用してモデルをトレーニングおよびテストしました。同じタスクを実行する独自の関数を作成する方法について助けが必要です。ありがとうございました。
indices = crossvalind('kfold',labels,10);
confusionMatrix = cell(1,1);
errorMat = zeros(1,10);
for i = 1:10
test = (indices==i);
train = ~test;
knn = fitcknn(data(train,:),labels(train),'NumNeighbors',kVal);
y = knn.predict(data(test,:));
index = cellfun(@strcmp,y,labels(test));
errorMat(i) = sum(index)/length(y);
confusionMatrix{i} = confusionmat(labels(test),y);
end
% Calculate misclassification error
cvError = 1-mean(errorMat);