python绘制一元非线性回归
时间: 2023-09-12 12:01:33 浏览: 142
一元非线性回归是使用一元自变量和非线性的函数关系来预测因变量的统计方法。在Python中,我们可以使用scikit-learn库中的多项式回归模型来实现一元非线性回归。
首先,我们需要导入必要的库和模块:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
```
接下来,我们生成一些用于回归分析的数据:
```python
# 生成随机数据
np.random.seed(0)
x = np.linspace(-3, 3, 100)
y = 2 + x + x**2 + np.random.normal(0, 1, 100)
```
然后,我们需要将一元自变量x转换为多项式特征,以便进行多项式回归分析:
```python
# 转换为多项式特征
poly = PolynomialFeatures(degree=2)
X = poly.fit_transform(x.reshape(-1, 1))
```
接下来,我们使用线性回归模型进行拟合:
```python
# 建立线性回归模型
model = LinearRegression()
model.fit(X, y)
```
最后,我们可以使用模型来进行预测和绘制回归曲线:
```python
# 预测
y_pred = model.predict(X)
# 绘制数据点和回归曲线
plt.scatter(x, y, color='blue', label='Actual')
plt.plot(x, y_pred, color='red', linewidth=2, label='Predicted')
plt.legend()
plt.show()
```
以上就是使用Python绘制一元非线性回归的步骤。通过多项式回归模型,我们可以拟合出一条曲线,来描述自变量和因变量之间的非线性关系。
阅读全文