八度音程中的 LIBSVM SVM - 如何使用我自己(没有 "svmpredict" )和 "svmtrain" 中的 return 的参数
LIBSVM SVM in octave - how to use myself (without "svmpredict" ) with the parameter that return from "svmtrain"
嗨,我以前有 ANN(人工神经网络)的背景,我是用 Octave 做的。我成功地将网络从 Octave 转换为 C++。
我这样做的方法是查看来自网络的 return 参数(wight 矩阵和偏差矩阵)并将其复制到 c++ 参数并进行正确的计算。
现在我开始使用 svm in octave,使用 LIBSVM 我成功训练了
这里是要训练的代码:
model = svmtrain(vOutput, vInput,'-g 1 -c 100 ' );
以及预测验证组(新组)的结果
这里是预测代码:
[predicted_label, accuracy, dec_values] = svmpredict(targetHit', inputHit, model);
它工作得很好..但我需要用 c++ 来做,所以我想了解如何在不使用 svmpredict 构建函数的情况下自己预测结果。
训练后得到的参数是:
fieldnames(model)
ans =
{
[1,1] = Parameters
[2,1] = nr_class
[3,1] = totalSV
[4,1] = rho
[5,1] = Label
[6,1] = sv_indices
[7,1] = ProbA
[8,1] = ProbB
[9,1] = nSV
[10,1] = sv_coef
[11,1] = SVs
}
但我不知道如何使用这个参数。
如果有人可以帮助我并解释我如何在不使用 svmpredict 函数的情况下手动使用参数。
O.k 我找到这段代码:
w = (model.sv_coef' * full(model.SVs));
bias = -model.rho;
predictions = sign(inputMiss * w' + bias);
但它与 svmpredict 的结果不兼容..
此代码应该可以帮助您:
w = (model.sv_coef' * full(model.SVs));
bias = -model.rho;
predictions = sign(inputMiss * w' + bias);
但它与 svmpredict 的结果不兼容 -> 它应该适合(再次检查。
嗨,我以前有 ANN(人工神经网络)的背景,我是用 Octave 做的。我成功地将网络从 Octave 转换为 C++。
我这样做的方法是查看来自网络的 return 参数(wight 矩阵和偏差矩阵)并将其复制到 c++ 参数并进行正确的计算。
现在我开始使用 svm in octave,使用 LIBSVM 我成功训练了
这里是要训练的代码:
model = svmtrain(vOutput, vInput,'-g 1 -c 100 ' );
以及预测验证组(新组)的结果 这里是预测代码:
[predicted_label, accuracy, dec_values] = svmpredict(targetHit', inputHit, model);
它工作得很好..但我需要用 c++ 来做,所以我想了解如何在不使用 svmpredict 构建函数的情况下自己预测结果。
训练后得到的参数是:
fieldnames(model)
ans =
{
[1,1] = Parameters
[2,1] = nr_class
[3,1] = totalSV
[4,1] = rho
[5,1] = Label
[6,1] = sv_indices
[7,1] = ProbA
[8,1] = ProbB
[9,1] = nSV
[10,1] = sv_coef
[11,1] = SVs
}
但我不知道如何使用这个参数。 如果有人可以帮助我并解释我如何在不使用 svmpredict 函数的情况下手动使用参数。
O.k 我找到这段代码:
w = (model.sv_coef' * full(model.SVs));
bias = -model.rho;
predictions = sign(inputMiss * w' + bias);
但它与 svmpredict 的结果不兼容..
此代码应该可以帮助您:
w = (model.sv_coef' * full(model.SVs));
bias = -model.rho;
predictions = sign(inputMiss * w' + bias);
但它与 svmpredict 的结果不兼容 -> 它应该适合(再次检查。