使用 C# 和“Accord.NET”的非线性支持向量回归



我应该在 Accord 中使用什么来使用 C# 进行非线性向量回归?谢谢(训练输入双倍[][] 和训练输出双倍[] NOT int[]

Accord.NET 为SequentialMinimalOptimizationRegression类中的回归问题提供了支持向量机器学习算法。示例应用程序的 wiki 页面中有一个针对此主题的示例应用程序。

下面是如何使用它的示例:

// 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); 

最新更新