2015-03-11 1 views
1

Я совершенно новый для мира SVM. Я использую LibSvmWrapper для C# из this linkКак указать параметры обучения в LibSVM C# Wrapper

, но я не могу понять, как использовать его и как задать правильные параметры специально документации, кажется, поврежден, когда я попытался запустить его с помощью Doxygen

вот моя попытка:

 libSVM_Problem prob = new libSVM_Problem(); 
     libSVM classifier = new libSVM(); 
     libSVM_Parameter parameters = new libSVM_Parameter(); 
     parameters.svm_type = libSVMWrapper.SVM_TYPE.C_SVC; 
     parameters.kernel_type = KERNEL_TYPE.LINEAR; 
     parameters.C = 1; 

     double[] labels = new double[trainClasses.Rows]; 
     //prepare classes labels 
     for (int i = 0; i < trainClasses.Rows; i++) 
     { 
      labels[i] = trainClasses[i, 0];//trainClasses is an array of floats 
     } 

     //prepare samples 
     double[][] samples = new double[trainData.Rows][]; 

     for (int i = 0; i < samples.Length; i++) 
     { 
      samples[i] = new double[trainData.Cols]; 
      for (int j = 0; j < samples[i].Length; j++) 
      { 
       //trainData is 980 training sample * 400 features 
       samples[i][j] = trainData[i, j]; 
      } 
     } 
     //prepare data and attach it to prob object 
     prob.labels = labels; 
     prob.samples = samples; 
     parameters.nu = 0; 
     classifier.Train(prob, parameters); 

Этот код выдает исключение при вызове методы Train, который гласит, что параметр веса в libSVM_Parameter является нулевой ссылкой. Я не знаю, как указать эти веса и вообще параметры libSVM_Parameter. Итак, если у кого-нибудь есть пример того, как указать правильные параметры, это было бы очень полезно.

ответ