Matlab 용 LIBSVM 도구 상자를 사용하고 있습니다. 내 문제는 레이블이 1 (True) 및 0 (False) 인 이진 분류 문제입니다.MATLAB LIBSVM의 확률 출력
svmstruct = svmtrain(TrainTargets, TrainInputs,['-t 2 ' '-g ' SIGMA ' -c ' P ' -q' ' -b 1']);
을하고이 기능을 내 테스트의 정확성을 테스트 : :이 기능을 내 시스템을 훈련 할 때
[TestOutputs, ~, ~] = svmpredict(TestTargets, TestInputs, svmstruct,'-b 1 -q');
는 이제 밖으로 샘플 데이터에 대한 DESINED SVM 모델을 사용합니다. 첫 훈련 모델에 대한
[OUT, ~, Prob_Out] = svmpredict(zeros(size(Outsample_DATA,1),1), Outsample_DATA, svmstruct,'-q -b 1');
(나는 다른 매개 변수를 SVM 모델을 훈련했다) 나는 (두 경우 모두 동일한 샘플 데이터 세트 아웃)이 출력이 : [Prob_Out OUT]
그래서 나는이 기능을 사용0.4240 0.5760 0
0.4090 0.5910 0
0.7601 0.2399 1.0000
0.5000 0.5000 1.0000
0.4646 0.5354 0
0.4589 0.5411 0
나는이 확률로 1 등급을 찾을한다고 가정 : 두 번째에 대한
0.8807 0.1193 0
0.8717 0.1283 0
0.0860 0.9140 1.0000
0.7846 0.2154 0
0.7685 0.2315 0
0.7916 0.2084 0
0.0326 0.9674 1.0000
0.7315 0.2685 0
0.3550 0.6450 1.0000
난이 있습니다. 제 1 열의 데이터가 열 1보다 큰 경우이 샘플은 클래스 1에 속하지만 제 1 열이 열 2보다 클 경우 샘플은 클래스 1에 속한다.
이 두 샘플 데이터의 구조 동일합니다. 문제가 무엇입니까?
감사합니다.
추신. 모델을 모델링 한 후 SVMstruct 매개 변수를 확인하면 레이블이 [0; 1]이고 다른 레이블은 [1; 0]입니다!
감사합니다. 그래서 나는 그것을 원하는 레이블로 수동으로 변환해야합니다. – user2991243