2011-10-21 5 views
1

두 클래스 사이에서 일부 값을 분류해야합니다. 훈련 세트로 사용할 수있는 약 30 개의 값이 있으며 각 값에는 10 개의 다른 차원이 있습니다. libSVM (Python에서 사용)을 사용하고 있는데 아주 잘 작동하는 것 같습니다.LibSVM 모델 해석

나는 어떤 차원이 분류 과정에서 다른 것보다 더 중요하다고 생각하기 때문에 libSVM에 의해 계산 된 모델에 대해서도 해석하려고합니다.

y, x = [1,1,1,-1,-1,-1],[[1,-1],[1,0],[1,1],[-1,-1],[-1,0],[-1,1]] 
prob = svm_problem(y, x) 
param = svm_parameter() 
param.kernel_type = LINEAR 
param.C = 10 
m = svm_train(prob, param) 
svm_save_model('model_file', m) 

X리스트의 요소의 두 번째 차원이 데이터 세트를 분류하는 쓸모없는 것이 분명하다 :

는 예를 들어, 다음 예제를 고려하십시오.

내 질문은 : libSVM에 의해 생성 된 모델을 분석하는 상황이 종류를 감지 할 수있는 체계적인 방법은

가?

답변

0

조금 늦었지만 :

기능이 중요하거나없는 경우 확인하는 것은 귀하의 책임입니다 - 그래서 당신은 수동으로 그들은 응용 프로그램의 요구 사항을 충족하여 기능을 선택해야합니다. SVM은 사용자가 입력 한 기능을 사용하여 최상의 결과를 얻으려고 시도합니다. 선택이 명확 해지기 때문에 주어진 데이터를 무시하는 것은 의미가 없습니다.

당신 만이 어떤 기능이 좋고 어떤 기능이 좋지 않은지 알 수 있습니다. 손/두뇌로 찾아야합니다.