【发布时间】:2015-09-26 20:52:22
【问题描述】:
背景:我正在使用 scikit-learn 进行多项式回归建模。通过生成的回归模型,您可以获得系数列表。
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]
表示 Y = 0 + -3.69 X1 + 0.00945 X2 + 47.9 X1^2 + 11.3 X1X2 + 25.5 X2^2
但是您不知道它们代表哪些术语。您必须检查列表以找出哪个是哪个。我希望让计算机打印整个公式,而不仅仅是系数。
有没有办法做到这一点?我在 sklearn 中看不到任何可以做到这一点的功能。所以我正在考虑编写一个函数来生成多项式项的有序列表
所以如果我输入 1,则只有 1 个决策变量,多项式项类似于 [1, X1]
对于输入 2,它是 [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]
所以我希望写这个函数。但是我很难弄清楚排名算法。任何人都可以给我一个提示吗?生成列表时是否可以遵循某种模式?
【问题讨论】:
标签: python python-2.7 statistics scikit-learn polynomial-math