随机森林结合网格搜索寻找最优参数代码
时间: 2023-06-30 16:07:30 浏览: 146
以下是一个基于Scikit-learn库实现的随机森林结合网格搜索寻找最优参数的代码示例:
```python
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import GridSearchCV
# 定义随机森林分类器
rf = RandomForestClassifier(random_state=42)
# 定义参数列表
param_grid = {
'n_estimators': [50, 100, 200],
'max_depth': [None, 5, 10],
'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 found: ", grid_search.best_params_)
print("Best score: {:.4f}".format(grid_search.best_score_))
```
在上述代码中,我们首先定义了一个随机森林分类器,并给定了需要搜索的参数列表。接下来,我们使用GridSearchCV函数定义了一个网格搜索对象,并传入了随机森林分类器和参数列表。然后我们使用fit()方法训练模型并搜索最优参数。最后,我们打印出最优参数和最优分数。
需要注意的是,上述代码只是一个示例,实际应用中需要根据具体情况调整参数列表和搜索范围。
阅读全文