随机森林通过网格搜索加交叉验证参数寻优Python代码实现
时间: 2023-08-05 17:05:22 浏览: 111
randomforest.zip_randomforest_网格搜索_随机森林_随机森林Python_随机森林调参
5星 · 资源好评率100%
以下是随机森林通过网格搜索加交叉验证参数寻优的Python代码实现:
```python
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import GridSearchCV, cross_val_score
# 定义随机森林模型
rf = RandomForestClassifier()
# 定义需要调整的参数列表
param_grid = {
'n_estimators': [50, 100, 200],
'max_depth': [5, 10, 15],
'min_samples_split': [2, 5, 10],
'min_samples_leaf': [1, 2, 5]
}
# 定义网格搜索模型
grid_search = GridSearchCV(rf, param_grid=param_grid, cv=5)
# 加载数据集
X, y = load_data()
# 对模型进行交叉验证
scores = cross_val_score(grid_search, X, y, cv=5)
# 打印交叉验证结果
print("交叉验证结果:", scores)
# 训练最佳模型
best_model = grid_search.fit(X, y)
# 打印最佳模型参数
print("最佳模型参数:", best_model.best_params_)
```
以上代码中,我们首先定义了一个随机森林模型,并指定需要调整的参数列表。然后,我们将该模型传入GridSearchCV对象中,同时指定交叉验证的折数。接下来,我们加载数据集并对模型进行交叉验证,最后输出交叉验证结果和最佳模型参数。
阅读全文