:采用 scikit-learn 中的 RandomForestRegressor 对加利福尼亚房价数据集进行预测。 具体要求导入数据集:加利福尼亚房价数据集是 sklearn 中自带的数据集通过查看数据量和维度、特征类型(离散 or 连续)、特征名、标签名、标签分布情况、数据集 的描述等信息了解数据集。 (2)模型建立:分别使用 DecisionTreeRegressor 和 RandomForestRegressor 建立分类模型(参数 默认即可)。 (3)模型评估:输出训练集和测试集评分(以根均方误差 RMSE 为评估指标)。
时间: 2024-03-11 09:48:18 浏览: 59
好的,我了解了您的问题。为了回答您的问题,我将会逐步给出完整的代码实现过程。首先,我们需要导入所需的库和数据集,代码如下:
```python
from sklearn.datasets import fetch_california_housing
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error
# 导入数据集
housing = fetch_california_housing()
# 分割数据集
X_train, X_test, y_train, y_test = train_test_split(housing.data, housing.target, random_state=42)
```
接下来,我们可以使用 DecisionTreeRegressor 和 RandomForestRegressor 分别建立模型。代码如下:
```python
# 建立 DecisionTreeRegressor 模型
tree_reg = DecisionTreeRegressor(random_state=42)
tree_reg.fit(X_train, y_train)
# 建立 RandomForestRegressor 模型
forest_reg = RandomForestRegressor(random_state=42)
forest_reg.fit(X_train, y_train)
```
最后,我们可以输出训练集和测试集的评分,以根均方误差 RMSE 为评估指标。代码如下:
```python
# 输出 DecisionTreeRegressor 的训练集和测试集评分
tree_train_pred = tree_reg.predict(X_train)
tree_test_pred = tree_reg.predict(X_test)
tree_train_rmse = mean_squared_error(y_train, tree_train_pred, squared=False)
tree_test_rmse = mean_squared_error(y_test, tree_test_pred, squared=False)
print("DecisionTreeRegressor:")
print("Train RMSE:", tree_train_rmse)
print("Test RMSE:", tree_test_rmse)
# 输出 RandomForestRegressor 的训练集和测试集评分
forest_train_pred = forest_reg.predict(X_train)
forest_test_pred = forest_reg.predict(X_test)
forest_train_rmse = mean_squared_error(y_train, forest_train_pred, squared=False)
forest_test_rmse = mean_squared_error(y_test, forest_test_pred, squared=False)
print("RandomForestRegressor:")
print("Train RMSE:", forest_train_rmse)
print("Test RMSE:", forest_test_rmse)
```
完整代码实现如下:
阅读全文