随机森林交叉验证调参代码
时间: 2024-04-03 12:29:23 浏览: 71
决策树、随机森林和极度随机森林的交叉验证评分的python代码
随机森林是一种集成学习算法,它通过组合多个决策树来进行分类或回归。交叉验证是一种评估模型性能的方法,它将数据集划分为训练集和验证集,并多次重复训练和验证过程。调参是指通过改变模型的超参数来优化模型性能。
下面是使用随机森林进行交叉验证和调参的代码示例:
```python
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import GridSearchCV
# 创建随机森林分类器
rf = RandomForestClassifier()
# 定义要调节的超参数范围
param_grid = {
'n_estimators': [100, 200, 300], # 决策树的数量
'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: ", grid_search.best_params_)
print("Best score: ", grid_search.best_score_)
```
在上面的代码中,我们首先导入了`RandomForestClassifier`类和`GridSearchCV`类。然后,我们创建了一个随机森林分类器对象`rf`。接下来,我们定义了要调节的超参数范围,并将其存储在`param_grid`字典中。
然后,我们使用`GridSearchCV`类来进行交叉验证和调参。`GridSearchCV`会遍历所有可能的超参数组合,并使用交叉验证评估每个组合的性能。最后,它会返回最佳参数和最佳得分。
你可以根据自己的需求修改超参数范围和其他参数,以获得最佳的模型性能。
阅读全文