Я новичок в машинном обучении, и я хотел реализовать многомерную нелинейную регрессию, и я не могу найти какую-либо хорошую библиотеку 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)
Я бы попробовал регрессию гребня ядра и / или регрессию опорных векторов на этом. Любой из них, вероятно, будет работать довольно хорошо.
библиотека dlib C ++ имеет простые в использовании реализации обоих этих методов. Увидеть регрессия опорных векторов или же регрессия гребня ядра пример программы для деталей. Обратите внимание, что в этих примерах показана только одна входная переменная, но все, что вам нужно сделать, это изменить размерность входного вектора на что-то отличное от 1. Поэтому в примерах это означает, что вы просто меняете строку
typedef matrix<double,1,1> sample_type;
в
typedef matrix<double,6,1> sample_type;
и тогда они будут работать на 6 входных переменных.
Других решений пока нет …