多元非线性回归 python代码
时间: 2023-09-13 14:06:24 浏览: 154
以下是使用Scikit-learn库实现多元非线回归的Python代码示例:
```python
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
# 生成随机数据
np.random.seed(0)
X = np.random.rand(100, 1) * 10
y = np.sin(X) + np.random.randn(100, 1)
# 创建多项式特征
poly_features = PolynomialFeatures(degree=2)
X_poly = poly_features.fit_transform(X)
# 创建并拟合线性回归模型
model = LinearRegression()
model.fit(X_poly, y)
# 预测新数据
X_new = np.linspace(0, 10, 100).reshape(-1, 1)
X_new_poly = poly_features.transform(X_new)
y_new = model.predict(X_new_poly)
# 绘制结果
import matplotlib.pyplot as plt
plt.scatter(X, y, label='Data')
plt.plot(X_new, y_new, color='r', label='Predictions')
plt.xlabel('X')
plt.ylabel('y')
plt.legend()
plt.show()
```
在这个示例中,我们生成了一些随机数据,并使用PolynomialFeatures创建了二次多项式特征。然后,使用LinearRegression拟合了线性回归模型,并使用这个模型对新数据进行预测。最后,使用matplotlib库绘制了原始数据和预测结果的散点图和曲线。你可以根据自己的数据和需求,调整多项式的阶数和其他参数。
阅读全文