2012-04-16 10 views
2

は、私が持っているコードです:LIBSVM:0回の反復後に終了し、結果なし。ここ

svmProblem.x = new svm_node [numSamples][numDims]; 
svmProblem.y = trainingY; 
for(int i=0; i < numSamples; i++) { 
    for (int j = 0; j < numDims; j++) { 
     svmProblem.x[i][j] = new svm_node(); 
     svmProblem.x[i][j].index = j; 
     svmProblem.x[i][j].value = trainingX[i][j]; 
    } 
    svmProblem.y[i] = trainingY[i]; 
} 

svmProblem.l = numSamples; 
svm_parameter svmParam = new svm_parameter(); 
svmParam.probability = 1; 
svmParam.kernel_type = svm_parameter.LINEAR; 
svm_model model = svm.svm_train(svmProblem, svmParam); 

、ここで実行終了時のメッセージです:

optimization finished, #iter = 0 
nu = NaN 
obj = 0.0, rho = 0.0 
nSV = 0, nBSV = 0 
Total nSV = 0 

私はステッピングみましたそれはデバッガを介して、しかし、どんな成功もなく、私は今かなり詰まっています。何が起きているのか?

+0

このコードでは、指定したメッセージは表示されません。何が問題なのですか? – ryanprayogo

+0

印刷メッセージは、libsvmライブラリ自体から出力されます。問題は、反復が0であってはならないということです。これは、トレーニングが行われていないことを意味するので、不合理です。 – Trup

+2

こんにちは、これに対する解決策を見つけることができましたか?私は同じ問題に直面している –

答えて

0

私はこれが何年も前に尋ねられたことを認識していますが、これが他の人と一緒に起こった場合は、選択されたnuの値が実現不可能な問題を引き起こしたと推測します。ドキュメントの

注意、

nu <= 2 * min(#y_i = + 1, #y_i = - 1)/l <= 1 

nu選ばれた名誉のは、これらの境界を確認してください。既定では、 nu0.5です。

関連する問題