用多项式回归进行波士顿房价预测
时间: 2023-10-10 19:12:40 浏览: 93
波士顿房价预测是一个经典的回归问题,可以使用多项式回归来进行预测。
多项式回归是一种非线性回归方法,它基于多项式函数来建立自变量与因变量之间的关系。在波士顿房价预测中,我们可以使用多项式函数来描述房价与各种因素(例如房屋面积、房间数量、学校质量等)之间的关系。
以下是用 Python 进行多项式回归的示例代码:
```python
import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
# 读取数据集
data = pd.read_csv('boston_housing.csv')
# 提取自变量和因变量
X = data.drop('MEDV', axis=1)
y = data['MEDV']
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# 将自变量进行多项式转换
poly = PolynomialFeatures(degree=2)
X_train_poly = poly.fit_transform(X_train)
X_test_poly = poly.transform(X_test)
# 训练线性回归模型
reg = LinearRegression()
reg.fit(X_train_poly, y_train)
# 预测测试集结果
y_pred = reg.predict(X_test_poly)
# 计算均方误差
mse = mean_squared_error(y_test, y_pred)
print('均方误差:', mse)
```
在这个示例代码中,我们首先使用 Pandas 读取波士顿房价数据集。然后,我们使用 `train_test_split` 函数将数据集分为训练集和测试集。接着,我们使用 `PolynomialFeatures` 类将自变量进行多项式转换,将自变量转换成二次方。最后,我们使用 `LinearRegression` 类训练线性回归模型,并对测试集进行预测,得到均方误差。
需要注意的是,多项式回归容易出现过拟合的问题。因此,我们需要通过调整多项式的次数等方式来避免过拟合。