python构建非线性回归模型
时间: 2024-10-01 12:10:58 浏览: 44
sklearn+python:线性回归案例
Python构建非线性回归模型通常可以使用各种机器学习库,如Scikit-learn、TensorFlow或PyTorch。这里以Scikit-learn为例,它是一个常用的用于快速原型设计和生产环境的工具包。以下是使用Scikit-learn构建非线性回归模型的一个简单步骤:
1. 导入所需库:
```python
import numpy as np
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
```
2. 准备数据:假设你有一个简单的线性数据集,需要通过多项式拟合使其变得非线性。首先生成数据,然后将X值转换为包含更高阶项的特征矩阵。
```python
# 示例数据
np.random.seed(0)
X = np.linspace(-3, 3, 100)[:, np.newaxis]
y = X ** 2 + 2 * X + 1 + np.random.normal(0, 0.5, X.shape)
# 创建PolynomialFeatures对象并转换特征
poly_features = PolynomialFeatures(degree=2)
X_poly = poly_features.fit_transform(X)
```
3. 初始化模型并训练:
```python
model = LinearRegression() # 使用线性回归模型作为基础,虽然我们正在处理非线性数据
model.fit(X_poly, y)
```
4. 预测和评估:
```python
y_pred = model.predict(X_poly)
```
你可以使用`model.score()`函数计算R^2分数或其他指标来评估模型性能。
阅读全文