使用sklearn中的随机森林模型写一个回归类型的预测方法 并使用网格搜索 确定模型的最佳参数
时间: 2024-03-24 15:37:54 浏览: 48
构建随机森林回归模型
好的,我可以为你提供一个使用sklearn中随机森林模型的回归类型预测方法,并使用网格搜索确定模型的最佳参数的示例代码。示例代码如下:
```python
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import GridSearchCV
# 导入数据,假设已经将数据分为训练集和测试集,并将它们存储在X_train, X_test, y_train和y_test中
# 定义随机森林模型
rf = RandomForestRegressor()
# 定义要搜索的参数空间
param_grid = {
'n_estimators': [50, 100, 150],
'max_depth': [5, 10, 15, None],
'min_samples_split': [2, 5, 10],
'min_samples_leaf': [1, 2, 4]
}
# 使用网格搜索找到最佳参数
grid_search = GridSearchCV(estimator=rf, param_grid=param_grid, cv=5)
grid_search.fit(X_train, y_train)
# 打印最佳参数和最佳得分
print("Best parameters: ", grid_search.best_params_)
print("Best score: ", grid_search.best_score_)
# 使用最佳参数训练模型并进行预测
rf = RandomForestRegressor(**grid_search.best_params_)
rf.fit(X_train, y_train)
y_pred = rf.predict(X_test)
```
这段代码中,我们首先导入了随机森林模型和网格搜索的相关模块。然后,我们定义了随机森林模型,并定义了要搜索的参数空间。接着,我们使用GridSearchCV函数进行网格搜索,并使用5折交叉验证来评估模型性能。最后,我们使用最佳参数训练模型并进行预测。
阅读全文