为随机森林调整参数的代码
时间: 2023-06-13 18:02:18 浏览: 107
下面是一个基于Python的例子,使用scikit-learn库的随机森林进行参数调整:
```python
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import GridSearchCV
from sklearn.datasets import make_classification
# 生成一些随机数据用于训练和测试
X, y = make_classification(n_samples=1000, n_features=10, n_informative=5, n_redundant=0, random_state=0)
# 定义参数组合,这里只列出了一些常用的参数,具体可以根据情况自行添加
param_grid = {
'n_estimators': [10, 50, 100, 200],
'max_depth': [None, 5, 10, 20],
'max_features': ['sqrt', 'log2', None],
'min_samples_split': [2, 5, 10],
'min_samples_leaf': [1, 2, 4],
}
# 定义随机森林分类器
rf = RandomForestClassifier(random_state=0)
# 使用GridSearchCV进行参数调整
grid_search = GridSearchCV(estimator=rf, param_grid=param_grid, cv=5)
grid_search.fit(X, y)
# 输出最优参数组合和对应的得分
print(grid_search.best_params_)
print(grid_search.best_score_)
```
在这个例子中,我们使用了`GridSearchCV`函数来进行参数调整。`param_grid`定义了需要调整的参数组合,`cv`指定了交叉验证的折数。最终输出最优的参数组合和对应的得分。
阅读全文