knn 분류기를 사용하여 작가에 따라 이미지를 분류합니다 (작가 인식 문제). 저는 교육용 이미지 100 개와 테스트 용 이미지 50 개가 포함 된 150 개의 이미지를 포함하는 주어진 데이터베이스에서 작업했습니다. 이 코드를 사용하여 분류기 (k = 1)의 정확도를 찾습니다.
load('testdirection.mat')
load('traindirection.mat')
load('testlabels.mat')
load('trainlabels.mat')
class = knnclassify(testdirection,traindirection, trainlabels);
cp = classperf(testlabels,class);
cp.CorrectRate
fprintf('KNN Classifier Accuracy: %.2f%%\n',100*cp.CorrectRate )
k [1..25]에 대해 다른 값에 대해 다른 정확도를 찾고 결과를 행렬 matlab에 저장하고 싶습니다. 또한 k 값에 따른 정확도의 변동성을보기 위해 결과를 플로팅하고 싶습니다. 이 코드를 변경하도록 도와 주시고 미리 감사드립니다.
knnclassify
k
가장 가까운 이웃의 수인 선택적 네 번째 인수 가 있습니다. knnclassify
for 루프에을 넣고에 대한 모든 값을 반복 할 수 있습니다 k
.
load('testdirection.mat')
load('traindirection.mat')
load('testlabels.mat')
load('trainlabels.mat')
for k=25:-1:1
class = knnclassify(testdirection,traindirection, trainlabels, k);
cp = classperf(testlabels,class);
correctRate(k) = cp.CorrectRate;
end
예를 들어 stem
또는 사용하여 결과를 플롯 할 수 있습니다.plot
stem(1:25,correctRate);
추신 : MATLAB 문서에 따라 knnclassify
향후 릴리스에서 제거 될 예정이므로 fitcknn
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다