波士顿房价预测(随机森林和线性回归) 返回上一级 详情: 1.线性回归和随机森林建模 from sklearn.ensemble import RandomForestRegressor from sklearn.linear_model import LinearRegression 2.预测房价并绘制对比图
时间: 2024-02-06 10:04:44 浏览: 57
基于线性回归实现波士顿房价预测的python源码大作业.zip
5星 · 资源好评率100%
好的,我可以帮你回答关于波士顿房价预测的问题。
首先,我们需要导入相关的模块和数据集。这里我们使用Scikit-learn自带的波士顿房价数据集。
```python
from sklearn.datasets import load_boston
import pandas as pd
# 加载数据集
boston = load_boston()
# 转换为DataFrame格式
X = pd.DataFrame(boston.data, columns=boston.feature_names)
y = pd.DataFrame(boston.target, columns=['MEDV'])
```
然后,我们可以使用线性回归和随机森林算法对数据进行建模。
```python
from sklearn.model_selection import train_test_split
from sklearn.metrics import r2_score, mean_squared_error
# 划分训练集和测试集
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=200, random_state=42)
rf.fit(X_train, y_train)
```
最后,我们可以使用建好的模型进行预测,并绘制对比图。
```python
import matplotlib.pyplot as plt
# 预测测试集结果
lr_pred = lr.predict(X_test)
rf_pred = rf.predict(X_test)
# 绘制对比图
plt.figure(figsize=(10, 5))
plt.plot(y_test.values, label='True Values')
plt.plot(lr_pred, label='Linear Regression')
plt.plot(rf_pred, label='Random Forest')
plt.legend()
plt.show()
# 输出评估指标
print('Linear Regression R2 Score:', r2_score(y_test, lr_pred))
print('Random Forest R2 Score:', r2_score(y_test, rf_pred))
print('Linear Regression MSE:', mean_squared_error(y_test, lr_pred))
print('Random Forest MSE:', mean_squared_error(y_test, rf_pred))
```
通过以上代码,我们可以得到预测结果对比图和模型评估指标。你可以根据需要对代码进行修改和调整。
阅读全文