我是机器学习的新手,我想实现多元非线性回归,我似乎无法在其上找到任何好的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)
答案 0 :(得分:2)
我会尝试使用内核岭回归和/或支持向量回归。它们中的任何一个都可能工作得很好。
dlib C++ library具有易于使用的这两种方法的实现。有关详细信息,请参阅support vector regression或kernel ridge regression示例程序。请注意,这些示例仅显示一个输入变量,但您需要做的就是将输入向量的维度更改为1以外的值。因此,在示例中,这意味着您只需更改行
typedef matrix<double,1,1> sample_type;
到
typedef matrix<double,6,1> sample_type;
然后他们将处理6个输入变量。