2013-02-27 2 views
1

RBF 및 선형 분류를 사용하여 libSVM 패키지를 시험해 본 결과 README 파일의 모든 권장 사항을 따랐습니다.LIBLINEAR의 교육 출력

나는 (RBF 대신 liblinear를 사용하려고하므로) (70K) 훈련 할 큰 파일이 있습니다.

유일한 문제는 내가 훈련 단계 이후 모델을 얻을 수 없습니다 오전입니다, 내 명령 줄은 다음과 같습니다 : 훈련이 완료

./train -c 4 -v 5 -s 6 TrainingSet.scal TrainingSet.scal.Model 

후, 나는 정확성 추정을하지만 때 * .model 파일을 내 테스트 세트와 비교하여 사용하면 간단하게 찾을 수 없습니다.

패키지에 버그가 있다고 생각합니까? 아니면 여기에 누락 된 것이 있습니까?

감사

라드

답변

0

내가 일반적으로 코드에서 직접 라이브러리를 사용하지만, 나는 훈련이 옵션을 사용하고 있기 때문에 수행 내가 정의되지 않은 생각 (6) -s되지 않는 귀하의 경우 생각합니다.

은 사용입니다 :

` -s svm_type : SVM의 설정 유형 (기본 0)

0 -- C-SVC  (multi-class classification) 
1 -- nu-SVC  (multi-class classification) 
2 -- one-class SVM 
3 -- epsilon-SVR (regression) 
4 -- nu-SVR  (regression) 

` 당신은 또한 커널 타입

-t kernel_type : set type of kernel function (default 2) 
0 -- linear: u'*v 
1 -- polynomial: (gamma*u'*v + coef0)^degree 
2 -- radial basis function: exp(-gamma*|u-v|^2) 
3 -- sigmoid: tanh(gamma*u'*v + coef0) 
4 -- precomputed kernel (kernel values in training_set_file) 

를 생략하는 잘하면 그것은 트릭을 만들 것입니다.

+0

그러나 liblinear 패키지 [link] (http://www.csie.ntu.edu.tw/~cjlin/liblinear/)를 사용하고 libsvm 자체는 사용하지 않습니다. ./train programe의 -s는 13 자입니다. 여기에 언급 된 바와 같이 [link] (https://github.com/ninjin/liblinear/blob/master/README) – Rad

+0

@Rad Hmm와 같은 작은 세부 사항 : PI는 해당 라이브러리 버전을 사용하지 않았지만 보고 당신을 알게하십시오. 이미 일반적인 libsvm을 사용해 보셨습니까? – Pedrom

+0

올바른 매개 변수 (교차 유효성 검사 필요 없음)를 알고 난 후에 훈련 할 때 -v 옵션을 사용하지 않아도된다는 것을 알았다면 출력 모델이 – Rad

2

옵션 -v 5는 학습 세트에서 5 배 평가를 수행한다는 것을 의미합니다. 이 옵션을 사용하면 liblinear가 5 배 평가를 사용하여 오류를 추정하고 모델을 출력하지 않습니다.

모델을 출력하려면 -v 5를 사용하지 마십시오.이 경우 Tt는 학습 오류를 출력하지 않습니다. 하지만 liblinear-predict를 사용하여 테스트 집합의 오류를 추정 할 수 있습니다.