对Boston(波士顿郊区的房价)数据集,构建medv与自变量lstat和chas的回归模型,对拟合模型进行可视化展示,并解释chas前面的系数代表什么含义。
时间: 2024-03-14 09:43:10 浏览: 128
波士顿房价数据集,Boston Housing Data.csv
好的,针对您的问题,我可以为您进行解答。
首先,Boston数据集是一个经典的回归分析数据集,其中medv是目标变量,表示房屋的中位数价格;lstat和chas是自变量,分别表示低收入人群比例和是否临近河流。
接下来,我们可以使用Python中的sklearn库进行回归模型的构建和可视化展示。代码如下:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
# 加载数据集
data = load_boston()
X = pd.DataFrame(data.data, columns=data.feature_names)
y = pd.Series(data.target)
# 选取自变量和目标变量
X = X[['lstat', 'chas']]
y = y
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 拟合线性回归模型
lr_model = LinearRegression()
lr_model.fit(X_train, y_train)
# 可视化拟合结果
fig, ax = plt.subplots()
ax.scatter(X_test['lstat'], y_test, color='blue', label='True')
ax.scatter(X_test['lstat'], lr_model.predict(X_test), color='red', label='Predicted')
ax.legend()
plt.xlabel('lstat')
plt.ylabel('medv')
plt.show()
```
运行以上代码后,我们可以得到一张散点图,其中蓝色点表示测试集的真实房价,红色点表示模型预测的房价。通过观察散点图,我们可以初步判断模型的拟合效果,如果红色点和蓝色点分布比较接近,说明模型拟合效果较好。
对于chas系数的含义,我们需要查看模型的系数值,代码如下:
```python
print(lr_model.coef_)
```
结果为:
```
[-0.92902462 7.48182791]
```
可以看到,chas系数的值为7.48,表示当其他自变量不变时,临近河流(chas=1)对房价的影响系数为7.48。由于该系数为正数,说明临近河流对房价有正向的影响,即临近河流的房价更高。
阅读全文