【发布时间】:2017-12-18 20:19:40
【问题描述】:
在一本书中,我发现以下代码将线性回归拟合到二次数据:
m = 100
X = 6 * np.random.rand(m, 1) - 3
y = 0.5 * X**2 + X + 2 + np.random.randn(m, 1)
poly_features = PolynomialFeatures(degree=2, include_bias=False)
X_poly = poly_features.fit_transform(X)
lin_reg = LinearRegression()
lin_reg.fit(X_poly, y)
但这怎么可能呢?我从documentation 知道PolynomialFeatures(degree=2, include_bias=False) 正在创建一个如下所示的数组:
[[X[0],X[0]**2]
[X[1],X[1]**2]
.....
[X[n],X[n]**2]]
但是:LinearRegression 如何拟合这些数据?表示 LinearRegression 在做什么以及其背后的概念是什么。
感谢您的任何解释!
【问题讨论】:
标签: python scikit-learn linear-regression polynomials