파일 교환에서 얻은 Matlab Weka 인터페이스를 사용하여 일부 교차 유효성 검사를 수행하고 있습니다. 내 루프 구조가 Weka의 Logistic 분류기에서 제대로 작동하는 것 같습니다. 나는 훈련 집합의 인스턴스의 수는보다 큰 경우에만 발생 몇 가지 테스트를 통해 확인한Matlab Weka 인터페이스 AdaBoost 문제 : 범위를 벗어났습니다 예외
??? Java exception occurred: java.lang.ArrayIndexOutOfBoundsException
Error in ==> wekaClassify at 24 classProbs(t+1,:) = (classifier.distributionForInstance(testData.instance(t)))';
Error in ==> classifier_search at 225 [pred ~] = wekaClassify(matlab2weka('instance', featurelabels, tester), classifier);
: 나는 AdaBoostM1에 대한 정확한 같은 일을하려고 할 때, 다음과 같은 오류가 발생합니다 테스트 세트의 인스턴스 수 대부분의 상황에서 트레이닝 세트가 테스트 세트보다 크기 때문에 나에게 이것이 왜 문제인지 알 수있을 것입니다.
Logistic이 아닌 Adaboost를 사용할 때 입력 내용의 형식을 변경하는 방법이 있습니까? 이 문제와 관련하여 제공 할 수있는 정보는 매우 유용 할 것입니다.
나는이 페이지에서이 코드를 다운로드 : http://www.mathworks.com/matlabcentral/fileexchange/21204-matlab-weka-interface이메일은 그것을 만든 사람의 계정에서 반송, 그는이 페이지에 대한 의견에 응답하지 않는 것 - 내가 바라고 있어요 어쩌면 사람 여기 이걸 사용했습니다.
편집 : 여기에 내가 훈련하고 분류 테스트하는 데 사용하는 코드입니다 : 내가 소프트웨어의 조합을 사용하지 않은
classifier = trainWekaClassifier(matlab2weka('training', featurelabels, train), 'meta.AdaBoostM1', { strcat('-P 100 -S 1 -I ', num2str(r), '-W weka.classifiers.trees.DecisionStump')});
[pred ~] = wekaClassify(matlab2weka('instance', featurelabels, tester), classifier);
답변 해 주셔서 감사합니다. 그러나 행렬은 올바르게 방향이 지정됩니다. 나는 똑같은 코드를 사용했지만 다른 프로그램에서 다른 분류자를 사용했다. 또한 확실하게, 행렬을 전치 (transposing)하려고 시도했는데 레이블이 유형 문자열이 아니기 때문에 행렬이 끊어졌습니다. – Nicole
분류자를 훈련하고 테스트하는 데 사용하는 코드를 표시 할 수 있습니까? – Richante
느린 응답에 대해 사과드립니다. 귀하의 의견에 대한 통보를받지 못했습니다. 내 게시물에서 요청한 수정을했습니다. 정말 고맙습니다! – Nicole