2

これが私が持っているコードです:

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

デバッガーをステップ実行してみましたが、成功せず、今はほとんど行き詰まっています。何が起こっているのか分かりますか?

4

1 に答える 1

0

これは何年も前に尋ねられたことに気づきましたが、これが他の誰かに起こった場合、nu選択された値が実行不可能な問題を引き起こしたと推測します。

ドキュメントに注意してください。

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

nu選択されたものがこれらの境界を尊重することを確認してください。デフォルトでは、nuです0.5

于 2014-10-15T18:55:22.043 に答える