MATLAB에서 Support Vector Machine이 작동하는 방식의 개념을 잘 이해하기 위해이 매우 중요한 링크를 간략히 읽어 보시기 바랍니다 .
동일한 개념을 적용하려고하는데 기차 세트와 테스트 세트가 다릅니다.
더 정확한 정보 :
내 기차 세트 는 마지막이 다음과 같은 C2res {1} 로 이름이 지정됩니다 .
C2res{1} =
1.0e-05 *
Columns 1 through 10
0.5341 0.5822 0.6185 0.7555 0.7369 0.7131 0.5985 0.6483 0.5668 0.6620
Columns 11 through 12
0.6523 0.6097
내 테스트 세트 는 C2res {2} 로 이름이 지정되며 마지막은 동일한 형식의 C2res {1}이지만 값이 다릅니다.
그런 다음 위 링크에서 사용 된 개념을 사용했습니다.
XTrain = [C2res{1}];
XTest = [C2res{2}];
label = [ones(size(C2res{1},2),1)];
SVMStruct = svmtrain(XTrain , label, 'kernel_function', 'linear');
Group = svmclassify(SVMStruct, XTest);
그러나 불행히도 항상 다음과 같은 오류가 발생합니다.
Error using svmtrain (line 335)
Y must contain exactly two groups for method 'SMO'.
그래서 당신의 도움이 필요합니다.
어떤 도움이라도 대단히 감사하겠습니다!
두 개의 클래스로 분류 훈련을 구현하려고합니까? 당신은 label = [ones(size(C2res{1},2),1)];
하나의 값을 포함, (두 가지 범주로) 두 값을 예상 할 수있는 것 같다. 그것이 오류가 나오는 이유라고 생각합니다.
단일 클래스 SVM을 적용하는 경우 이러한 옵션을 추가해보십시오 (옵션에 대한 자세한 내용은 이 페이지 참조).
SVMStruct = svmtrain(XTrain , label,'-t 0 -s 2');
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다