2
Accord中,我应该如何使用C#进行非线性向量回归? 由于 (traininginputs双[] []和trainingoutput 双[]不是int [])使用C#和“Accord.NET”进行非线性支持向量回归
Accord中,我应该如何使用C#进行非线性向量回归? 由于 (traininginputs双[] []和trainingoutput 双[]不是int [])使用C#和“Accord.NET”进行非线性支持向量回归
Accord.NET提供了在SequentialMinimalOptimizationRegression类回归问题支持向量机学习算法。有一个example application for this topic in the sample application's wiki page。
下面是关于如何使用它的一个例子:
// Example regression problem. Suppose we are trying
// to model the following equation: f(x, y) = 2x + y
double[][] inputs = // (x, y)
{
new double[] { 0, 1 }, // 2*0 + 1 = 1
new double[] { 4, 3 }, // 2*4 + 3 = 11
new double[] { 8, -8 }, // 2*8 - 8 = 8
new double[] { 2, 2 }, // 2*2 + 2 = 6
new double[] { 6, 1 }, // 2*6 + 1 = 13
new double[] { 5, 4 }, // 2*5 + 4 = 14
new double[] { 9, 1 }, // 2*9 + 1 = 19
new double[] { 1, 6 }, // 2*1 + 6 = 8
};
double[] outputs = // f(x, y)
{
1, 11, 8, 6, 13, 14, 20, 8
};
// Create the sequential minimal optimization teacher
var learn = new SequentialMinimalOptimizationRegression<Polynomial>()
{
Kernel = new Polynomial(degree: 2)
}
// Use the teacher to learn a new machine
var svm = teacher.Learn(inputs, outputs);
// Compute the answer for one particular example
double fxy = machine.Transform(inputs[0]); // 1.0003849827673186
// Compute the answer for all examples
double[] fxys = machine.Transform(inputs);
谢谢!我在一开始就这样做了,但不确定我是否正在进行回归...... dum – zazoupile