多元非线性回归代码python
时间: 2023-07-09 16:30:35 浏览: 135
以下是一个示例的多元非线性回归代码,使用Python中的scikit-learn库:
```python
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.pipeline import make_pipeline
import numpy as np
# 生成随机数据
np.random.seed(0)
x = np.random.rand(100, 1)
y = np.sin(2*np.pi*x) + 0.1*np.random.randn(100, 1)
# 定义模型管道
model = make_pipeline(PolynomialFeatures(3), LinearRegression())
# 模型拟合
model.fit(x, y)
# 预测新的数据点
x_test = np.linspace(0, 1, 100).reshape(-1, 1)
y_test = model.predict(x_test)
# 可视化结果
import matplotlib.pyplot as plt
plt.scatter(x, y)
plt.plot(x_test, y_test, color='r')
plt.show()
```
在上面的代码中,我们使用了`PolynomialFeatures(3)`将输入$x$的多项式特征扩展到3阶,然后将其输入`LinearRegression()`来拟合非线性函数。最后,我们使用可视化工具matplotlib来绘制拟合结果。
阅读全文