boston = load_boston() data = pd.DataFrame(boston.data, columns=boston.feature_names) target = pd.Series(boston.target, name='PRICE') df = pd.concat([data, target], axis=1)
时间: 2023-06-26 22:09:46 浏览: 200
这段代码使用了scikit-learn中的`load_boston()`函数来加载波士顿房价数据集。然后,将数据集中的特征值和目标变量分别赋值给`data`和`target`变量。接着,使用`pd.concat()`函数将特征值和目标变量合并到一起,并赋值给`df`变量,其中`axis=1`表示按列合并。最终,`df`变量就是包含所有特征值和目标变量的数据框。
相关问题
对Boston(波士顿郊区的房价)数据集,构建medv与自变量lstat和chas的回归模型,对拟合模型进行可视化展示,并解释chas前面的系数代表什么含义。
好的,针对您的问题,我可以为您进行解答。
首先,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。由于该系数为正数,说明临近河流对房价有正向的影响,即临近河流的房价更高。
波士顿房价预测(随机森林和线性回归) 返回上一级 详情: 1.线性回归和随机森林建模 from sklearn.ensemble import RandomForestRegressor from sklearn.linear_model import LinearRegression 2.预测房价并绘制对比图
好的,以下是关于波士顿房价预测的代码示例:
```python
# 导入必要的库
import numpy as np
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
# 加载数据
boston = load_boston()
X = pd.DataFrame(boston.data, columns=boston.feature_names)
y = pd.Series(boston.target)
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 建立线性回归模型
lr = LinearRegression()
lr.fit(X_train, y_train)
# 建立随机森林模型
rf = RandomForestRegressor(n_estimators=100, random_state=42)
rf.fit(X_train, y_train)
# 预测房价
y_pred_lr = lr.predict(X_test)
y_pred_rf = rf.predict(X_test)
# 绘制对比图
plt.figure(figsize=(8, 6))
plt.scatter(y_test, y_pred_lr, label='Linear Regression')
plt.scatter(y_test, y_pred_rf, label='Random Forest')
plt.xlabel('True Values')
plt.ylabel('Predictions')
plt.legend()
plt.show()
```
以上代码使用了sklearn库中的线性回归和随机森林模型,对波士顿房价进行预测,并绘制了对比图。其中,线性回归模型用于拟合数据的线性关系,随机森林模型用于处理数据的非线性关系。通过对比两种模型的预测结果,我们可以选择更适合数据特点的模型进行预测和建模。
阅读全文