波士顿房价预测(随机森林和线性回归) 返回上一级 详情: 1.线性回归和随机森林建模 from sklearn.ensemble import RandomForestRegressor from sklearn.linear_model import LinearRegression 2.预测房价并绘制对比图
时间: 2024-02-01 09:13:18 浏览: 59
好的,下面是波士顿房价预测的代码示例:
```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()
# 转换为DataFrame格式
boston_df = pd.DataFrame(boston.data, columns=boston.feature_names)
boston_df['PRICE'] = boston.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(boston_df[boston.feature_names], boston_df['PRICE'], test_size=0.2, random_state=42)
# 线性回归建模
lr = LinearRegression()
lr.fit(X_train, y_train)
# 随机森林建模
rf = RandomForestRegressor()
rf.fit(X_train, y_train)
# 预测结果
lr_pred = lr.predict(X_test)
rf_pred = rf.predict(X_test)
# 绘制对比图
plt.figure(figsize=(10, 5))
plt.plot(y_test.values, label='True')
plt.plot(lr_pred, label='Linear Regression')
plt.plot(rf_pred, label='Random Forest')
plt.legend()
plt.show()
```
解释一下代码:
首先,我们使用`load_boston()`函数加载波士顿房价数据集,并将其转换为DataFrame格式。
然后,我们使用`train_test_split()`函数将数据集划分为训练集和测试集。
接着,我们分别使用`LinearRegression()`和`RandomForestRegressor()`函数建立线性回归和随机森林模型,并使用训练集拟合模型。
最后,我们使用模型对测试集进行预测,并绘制出真实数据和两个模型的预测结果的对比图。
希望这个示例能够对你有所帮助!
阅读全文