使用多项式回归模型
时间: 2023-08-30 08:06:44 浏览: 46
多项式回归模型是一种基于多项式函数的回归模型,可以用于拟合非线性关系的数据。其基本思想是在原始数据上增加一些新的特征,例如原始特征的幂次和交叉项,然后使用线性回归来拟合增强后的特征。在实践中,通常选择二次或三次多项式作为模型,因为这些多项式可以很好地拟合大多数非线性关系。
下面是使用Python实现多项式回归模型的步骤:
1. 导入所需的库
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
```
2. 准备数据
```python
# 生成一些带有噪声的二次函数数据
np.random.seed(0)
x = 2 - 3 * np.random.normal(0, 1, 20)
y = x - 2 * (x ** 2) + 0.5 * (x ** 3) + np.random.normal(-3, 3, 20)
```
3. 将数据转换为二次多项式
```python
# 将数据转换为二次多项式
poly = PolynomialFeatures(degree=2)
x_poly = poly.fit_transform(x.reshape(-1, 1))
```
4. 在多项式特征上训练线性回归模型
```python
# 在多项式特征上训练线性回归模型
model = LinearRegression()
model.fit(x_poly, y)
```
5. 绘制拟合曲线
```python
# 绘制拟合曲线
plt.scatter(x, y, color='blue')
plt.plot(x, model.predict(x_poly), color='red')
plt.title('Polynomial Regression')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
```
运行以上代码后,将生成一个带有数据散点和拟合曲线的图形。可以使用不同的多项式度数来拟合数据,并且可以使用交叉验证等技术来选择最佳的模型。