2014-12-07 2 views
3

우분투 14.10을 실행 중이며 GUI를 통해 모델을 작성하고 저장했습니다. 이제 커맨드 라인에서 실행하고 싶은 테스트 데이터가 있습니다. 분류 자의 특정 옵션을 시도하고 전달하지 않는 한 정상적으로 작동합니다. 내가하면 "잘못된 옵션"메시지가 나타납니다. 예를 들어 명령 행의 WEKA 분류 자 ​​인수

다음 작품 : 그러나

java -Xmx1g -cp /usr/share/java/weka.jar weka.classifiers.lazy.IBk -l ibk1-full.model -T testdata.arff 

, 다음하지 않는 :

java -Xmx1g -cp /usr/share/java/weka.jar weka.classifiers.lazy.IBk -l ibk1-full.model -T testdata.arff -K 3 


Weka exception: Illegal options: -K 3 

General options: 

-h or -help 
    Output help information. 
-synopsis or -info 
... 

어떻게 분류 하나 개의 패스 명령 줄 인수를합니까?

추가 질문 : 모델과 함께 저장된 모델을 생성 할 때 사용되는 기본 인수입니다. 따라서 누군가가 '-l foo.model'을 사용하여 명령 줄에서로드 할 때 다른 부분을 지정할 필요가 없도록합니다 커맨드 라인의 인수? weka CLI 입문서 문서는 이에 대해 명확하지 않습니다.

참고 : IBk는 정확히 모델이 아니며 내가 시도한 모든 분류 기준을 설명합니다.

답변

2

분류기를로드 할 때 -K 매개 변수가 작동하지 않는 대신 명령 프롬프트에서 모델을 학습 할 때 나타납니다. 이것은 kNN 모델이 k = 1로 이미 훈련 되었기 때문에 k를 변경하면 이미 생성 된 모델이 변경되기 때문일 수 있습니다.

-K, -t 및 -T 매개 변수를 사용하는 경우 지정된 교육 세트에서 원하는 k로 새 모델을 생성하고 주어진 테스트 데이터에서 평가할 수 있어야합니다.

내가 가진 문제가 명령 줄 인수와 관련이 없다고 생각합니다. (제대로하고 있습니다!) 주어진 상황에서 인수가 유효하지 않습니다.

추가 질문 : 교육을받은 모델의 매개 변수는 저장하기 전에 완료된 교육용으로 필요하지 않을 수 있습니다. 다른 매개 변수는 여전히 필요합니다 (예 : 평가 용 데이터 테스트).

희망이 도움이됩니다!

+0

감사합니다. 본질적으로 생성 된 모델이 매개 변수에 의존하기 때문에 모델의 "매개 변수"가 모델과 함께 저장됩니다. 모델에 대해로드/테스팅 할 때 동일한 매개 변수를 지정해야하는지 확신 할 수 없었습니다. 이제 모델을 큰소리로 말하며 /별로 /하지 않습니다. 흠. 모델 로딩만으로 충분합니다. – clemej

+0

맞습니다. 일단 훈련을 받으면 다시 훈련하지 않으므로 모델 매개 변수는 평가와 관련이 없으면 더 이상 필요하지 않습니다. –