机器学习线性回归多项式回归
时间: 2023-12-22 22:27:38 浏览: 119
多项式回归是一种线性回归的扩展,它通过将自变量的幂次作为新的特征来拟合一个多项式模型。下面是多项式回归的公式推导过程:
假设我们有一个一元线性回归模型:$y = \beta_0 + \beta_1x$
如果我们想要将其扩展为一个二次多项式回归模型,我们可以将自变量$x$的平方作为新的特征,即:$y = \beta_0 + \beta_1x + \beta_2x^2$
同样地,如果我们想要将其扩展为一个三次多项式回归模型,我们可以将自变量$x$的三次方作为新的特征,即:$y = \beta_0 + \beta_1x + \beta_2x^2 + \beta_3x^3$
以此类推,我们可以将自变量的幂次作为新的特征,从而构建一个更高阶的多项式回归模型。
在Python中,我们可以使用sklearn库中的PolynomialFeatures类来实现多项式回归。下面是一个示例代码:
```python
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
import numpy as np
# 构造数据
x = np.array([1, 2, 3, 4, 5]).reshape(-1, 1)
y = np.array([2, 3, 5, 6, 9]).reshape(-1, 1)
# 构造多项式特征
poly = PolynomialFeatures(degree=2)
x_poly = poly.fit_transform(x)
# 训练模型
model = LinearRegression()
model.fit(x_poly, y)
# 预测
x_test = np.array([6]).reshape(-1, 1)
x_test_poly = poly.transform(x_test)
y_pred = model.predict(x_test_poly)
print(y_pred) # 输出:[[15.]]
```
阅读全文