利用多项式回归构建回归模型,给出python代码
时间: 2024-11-12 08:34:51 浏览: 24
数据分析实战 - 线性回归-女性身高与体重数据分析
在Python中,我们可以使用sklearn库中的PolynomialFeatures和LinearRegression模块来创建多项式回归模型。这里是一个简单的例子:
```python
# 导入所需的库
import numpy as np
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
# 假设你已经有了一个二维数据集X(特征)和一维目标值y
X = np.random.rand(100, 1) # 示例数据,实际应用中替换为你的数据
y = np.sin(2 * np.pi * X[:, 0]) + np.random.normal(size=(100,)) # 生成随机噪声的数据
# 分割数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 定义多项式的阶度,比如我们希望构建一个二次多项式
degree = 2
# 创建多项式特征提取器
poly = PolynomialFeatures(degree=degree)
# 对训练数据的特征进行转换
X_train_poly = poly.fit_transform(X_train)
# 初始化线性回归模型
model = LinearRegression()
# 训练模型
model.fit(X_train_poly, y_train)
# 预测
y_pred = model.predict(poly.transform(X_test))
# 可视化结果或者评估性能(例如,计算均方误差MSE)
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_test, y_pred)
print("Mean Squared Error:", mse)
```
上述代码首先将原始的一次函数特征转换成了二次函数特征,然后使用线性回归对这些新的特征进行拟合。记得根据你的实际情况替换数据集 `X` 和 `y`。
阅读全文