随机森林代码实例和参数优化
时间: 2024-01-20 11:16:25 浏览: 71
以下是一个随机森林的代码实例和参数优化的过程:
```python
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import GridSearchCV
from sklearn.datasets import load_iris
# 加载数据集
iris = load_iris()
X = iris.data
y = iris.target
# 创建随机森林分类器
rf = RandomForestClassifier()
# 定义参数网格
param_grid = {
'n_estimators': [10, 50, 100],
'max_features': ['auto', 'sqrt', 'log2']
}
# 使用网格搜索进行参数优化
grid_search = GridSearchCV(estimator=rf, param_grid=param_grid, cv=5)
grid_search.fit(X, y)
# 输出最优参数和最优得分
print("Best parameters: ", grid_search.best_params_)
print("Best score: ", grid_search.best_score_)
```
在上述代码中,我们首先导入了所需的库和模块。然后,我们加载了一个经典的鸢尾花数据集作为示例数据。接下来,我们创建了一个随机森林分类器,并定义了一个参数网格,其中包含了我们想要优化的参数。然后,我们使用网格搜索(GridSearchCV)来搜索最佳参数组合。最后,我们输出了最优参数和最优得分。
参数优化的过程是通过尝试不同的参数组合来找到最佳的模型性能。在上述代码中,我们尝试了不同的子数据集个数(n_estimators)和最大特征个数(max_features)的组合。通过网格搜索,我们可以自动地遍历所有可能的参数组合,并找到最佳的组合。
阅读全文