多元非线性回归

时间:2013-03-24 08:01:01

标签: c++ machine-learning regression

我是机器学习的新手,我想实现多元非线性回归,我似乎无法在其上找到任何好的C ++库 (例如:数据)

    y        x1         x2       x3          x4       x5         x6      
4.52e+005  8.32e+000 4.10e+001 8.801e+002 1.29e+002 3.22e+002 1.26e+002 
3.585e+005 8.30e+000 2.10e+001 7.099e+003 1.10e+003 2.40e+003 1.13e+003 
3.521e+005 7.25e+000 5.20e+001 1.467e+003 1.91e+002 4.96e+002 1.77e+002 
3.413e+005 5.64e+000 5.20e+001 1.274e+003 2.35e+002 5.58e+002 2.19e+002 
3.422e+005 3.84e+000 5.20e+001 1.627e+003 2.81e+002 5.65e+002 2.59e+002 

我需要非线性回归模型来预测给定输入变量的输出(x1,x2,x3,x4,x5,x6)

1 个答案:

答案 0 :(得分:2)

我会尝试使用内核岭回归和/或支持向量回归。它们中的任何一个都可能工作得很好。

dlib C++ library具有易于使用的这两种方法的实现。有关详细信息,请参阅support vector regressionkernel ridge regression示例程序。请注意,这些示例仅显示一个输入变量,但您需要做的就是将输入向量的维度更改为1以外的值。因此,在示例中,这意味着您只需更改行

typedef matrix<double,1,1> sample_type;

typedef matrix<double,6,1> sample_type;

然后他们将处理6个输入变量。