用python实现波士顿的房价预测
时间: 2023-09-18 14:16:22 浏览: 50
波士顿的房价预测是一个经典的回归问题,可以使用多种机器学习算法进行建模,本次我们将使用线性回归模型进行预测。以下是实现步骤:
1. 导入必要的库和数据集
我们需要使用 pandas、numpy 和 sklearn 库,同时还需要从 sklearn.datasets 中导入波士顿房价数据集。
```python
import pandas as pd
import numpy as np
from sklearn.datasets import load_boston
# 导入数据集
boston = load_boston()
```
2. 数据预处理
数据预处理是机器学习模型建立的重要步骤,对于波士顿房价数据集,我们需要对其进行标准化处理,以便模型更好地学习特征。同时,我们还需要将数据集划分为训练集和测试集。
```python
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
# 标准化数据
scaler = StandardScaler()
x = scaler.fit_transform(boston.data)
y = boston.target
# 划分数据集
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)
```
3. 模型训练和预测
使用 sklearn 的线性回归模型 LinearRegression 进行模型训练和预测。
```python
from sklearn.linear_model import LinearRegression
# 创建模型
model = LinearRegression()
# 训练模型
model.fit(x_train, y_train)
# 预测结果
y_pred = model.predict(x_test)
```
4. 模型评估
我们可以使用 sklearn 库中的 mean_squared_error 和 r2_score 函数对模型进行评估。
```python
from sklearn.metrics import mean_squared_error, r2_score
# 计算 MSE 和 R2
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print("MSE:", mse)
print("R2 score:", r2)
```
完整代码如下:
```python
import pandas as pd
import numpy as np
from sklearn.datasets import load_boston
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
# 导入数据集
boston = load_boston()
# 标准化数据
scaler = StandardScaler()
x = scaler.fit_transform(boston.data)
y = boston.target
# 划分数据集
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)
# 创建模型
model = LinearRegression()
# 训练模型
model.fit(x_train, y_train)
# 预测结果
y_pred = model.predict(x_test)
# 计算 MSE 和 R2
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print("MSE:", mse)
print("R2 score:", r2)
```
希望可以帮助到你!