调用sklearn库实现对波士顿房价的预测,采用线性回归方法,并计算以下性能评价指标:平均绝对误差、均方误差、均方根误差、决定系数R2值。
时间: 2023-12-31 10:04:32 浏览: 83
好的,以下是使用sklearn库实现对波士顿房价的预测,采用线性回归方法,并计算性能评价指标的完整代码:
```python
# 导入库
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
from sklearn.model_selection import train_test_split
import numpy as np
# 加载数据
data = load_boston()
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2, random_state=42)
# 创建模型
model = LinearRegression()
# 训练模型
model.fit(X_train, y_train)
# 预测结果
y_pred = model.predict(X_test)
# 计算评价指标
mae = mean_absolute_error(y_test, y_pred)
mse = mean_squared_error(y_test, y_pred)
rmse = np.sqrt(mean_squared_error(y_test, y_pred))
r2 = r2_score(y_test, y_pred)
# 输出结果
print("平均绝对误差:", mae)
print("均方误差:", mse)
print("均方根误差:", rmse)
print("决定系数R2值:", r2)
```
首先,我们从sklearn库中导入所需的模块和函数,包括`load_boston`用于加载数据、`LinearRegression`用于创建线性回归模型、`mean_absolute_error`、`mean_squared_error`、`r2_score`用于计算性能评价指标、`train_test_split`用于将数据集划分为训练集和测试集。
然后,我们使用`load_boston()`加载数据集,并使用`train_test_split()`将数据集划分为训练集和测试集。
接着,我们创建一个线性回归模型,并使用训练集对模型进行训练。
然后,我们使用测试集对模型进行预测,并计算出平均绝对误差、均方误差、均方根误差、决定系数R2值这些性能评价指标。需要注意的是,在计算均方根误差时,我们使用numpy库中的`sqrt()`函数对均方误差进行开根号处理。
最后,我们输出计算结果。
希望这个回答能够帮助你。
阅读全文