K-最近邻分类器

时间:2015-01-25 21:59:57

标签: matlab knn confusion-matrix

我按照MATLAB KNN分类器的例子进行了10次交叉验证,我在计算模型性能的阶段迷路了,请查看下面的代码,并建议我如何才能正确地获得分类的准确性在百分比(%)中,我没有得到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); 

0 个答案:

没有答案