写出波士顿房价预测(随机森林和线性回归)1.线性回归和随机森林建模 from sklearn.ensemble import RandomForestRegressor from sklearn.linear_model import LinearRegression 2.预测房价并绘制对比图的代码
时间: 2024-02-11 16:08:41 浏览: 78
好的,以下是波士顿房价预测的代码(包括线性回归和随机森林建模以及预测房价并绘制对比图):
```
# 导入所需库和数据集
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 numpy as np
import matplotlib.pyplot as plt
# 加载数据集
boston = load_boston()
X = boston.data
y = boston.target
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, 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_lr_pred = lr.predict(X_test)
y_rf_pred = rf.predict(X_test)
# 绘制对比图
plt.figure(figsize=(10, 6))
plt.scatter(y_test, y_lr_pred, label='Linear Regression')
plt.scatter(y_test, y_rf_pred, label='Random Forest')
plt.plot([0, 50], [0, 50], 'k--')
plt.xlabel('True Price')
plt.ylabel('Predicted Price')
plt.title('Boston House Price Prediction')
plt.legend()
plt.show()
```
代码中使用了sklearn库中的数据集,其中X为特征矩阵,y为目标变量。将数据集分为训练集和测试集后,分别使用线性回归和随机森林建模,并预测房价。最后绘制对比图,比较预测结果与真实结果之间的差异。
阅读全文