题目一:采用 scikit-learn 中的 RandomForestRegressor 对加利福尼亚房价数据集进行预测。 具体要求: (1)导入数据集:加利福尼亚房价数据集是 sklearn 中自带的数据集,程序示例: 通过查看数据量和维度、特征类型(离散 or 连续)、特征名、标签名、标签分布情况、数据集 的描述等信息了解数据集。 (2)模型建立:分别使用 DecisionTreeRegressor 和 RandomForestRegressor 建立分类模型(参数 默认即可)。 (3)模型评估:输出训练集和测试集评分(以根均方误差 RMSE 为评估指标)。
时间: 2024-03-23 21:38:10 浏览: 56
好的,我会根据你的要求进行操作,并保证不泄露你的要求。针对你的问题,以下是代码和解释:
```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
# 加载数据集
california = fetch_california_housing()
# 查看数据集信息
print("数据量:", california.data.shape[0])
print("维度:", california.data.shape[1])
print("特征类型:连续")
print("特征名:", california.feature_names)
print("标签名:", california.target_names)
print("标签分布情况:")
print(california.target[:10])
print("数据集描述:")
print(california.DESCR)
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(california.data, california.target, test_size=0.2)
# 建立决策树回归模型
dt_model = DecisionTreeRegressor()
dt_model.fit(X_train, y_train)
# 输出决策树回归模型评分
dt_train_score = dt_model.score(X_train, y_train)
dt_test_score = dt_model.score(X_test, y_test)
print("决策树回归模型评分:")
print("训练集评分:", dt_train_score)
print("测试集评分:", dt_test_score)
print("测试集 RMSE:", mean_squared_error(y_test, dt_model.predict(X_test), squared=False))
# 建立随机森林回归模型
rf_model = RandomForestRegressor()
rf_model.fit(X_train, y_train)
# 输出随机森林回归模型评分
rf_train_score = rf_model.score(X_train, y_train)
rf_test_score = rf_model.score(X_test, y_test)
print("随机森林回归模型评分:")
print("训练集评分:", rf_train_score)
print("测试集评分:", rf_test_score)
print("测试集 RMSE:", mean_squared_error(y_test, rf_model.predict(X_test), squared=False))
```
解释:
1. 首先导入需要的模块和数据集,其中 `fetch_california_housing` 是用于加载加利福尼亚房价数据集的方法,`train_test_split` 用于划分数据集,`DecisionTreeRegressor` 和 `RandomForestRegressor` 是用于建立决策树回归模型和随机森林回归模型的方法,`mean_squared_error` 是用于计算 RMSE 的方法。
2. 加载数据集并输出数据集信息,包括数据量、维度、特征类型、特征名、标签名、标签分布情况和数据集描述等。
3. 利用 `train_test_split` 方法将数据集划分为训练集和测试集。
4. 利用 `DecisionTreeRegressor` 建立决策树回归模型,并输出模型评分和测试集 RMSE。
5. 利用 `RandomForestRegressor` 建立随机森林回归模型,并输出模型评分和测试集 RMSE。
希望以上解释和代码能够解决你的问题,如果还有其他问题,请随时提出。
阅读全文