Я совершенно новый для мира 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. Итак, если у кого-нибудь есть пример того, как указать правильные параметры, это было бы очень полезно.