Фон: Я делаю полиномиальное регрессионное моделирование, используя scikit-learn. С созданной моделью регрессии вы можете получить список коэффициентов.Создать формулу полного полиномиального регрессии, а не только коэффициенты, использующие sklearn?
poly = PolynomialFeatures(degree)
X_ = poly.fit_transform(X)
model = linear_model.LinearRegression(fit_intercept=True)
model.fit(X_, Y_)
print model.coef_
Результаты:
[0.00000000e + 00 -3.69049908e + 00 9.45845788e-03 4.79401992e + 01 1.13710193e + 01 2.55613693e + 01]
It означает Y = 0 + -3.69 X1 + 0.00945 X2 + 47.9 X1^2 + 11.3 X1X2 + 25.5 X2^2
Но вы не знаете, какие термины они представляют с первого взгляда. Вам нужно будет проверить список, чтобы узнать, что именно. Надеюсь, что компьютер напечатает всю формулу, а не только коэффициенты.
Есть ли способ сделать это? Я не вижу никакой функции в sklearn, которая может это сделать. Так я думал о написании функции для создания упорядоченного списка для членов полинома
Так что, если я вход 1, есть только одна переменных решения, полиномиальные термины, как [1, X1]
Для входа- , это [1, X1, X2, X1^2, X1X2, X2^2].
Для ввода 3 это [1, X1, X2, X1^2, X1X2, X2^2, X1X3, X2X3, X3^2, X1^3, X1^2 * X2, X1 * X2^2, ......... X3^3]
Так что я надеюсь написать эту функцию. Но мне сложно определить алгоритм ранжирования. Может ли кто-нибудь дать мне намек на это? Есть ли шаблон, который я могу отслеживать при создании списка?
Можете ли вы объяснить более о том, как превратить этот лист в формулу? – b123400