写一个优化随机森林分类的代码
时间: 2023-11-30 11:03:51 浏览: 61
【RF分类】基于遗传算法优化随机森林实现数据分类附matlab代码.zip
好的,以下是一个优化随机森林分类的 Python 代码示例:
```python
# 导入必要的库
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import GridSearchCV, cross_val_score
from sklearn.datasets import load_iris
# 加载数据集
iris = load_iris()
# 定义参数范围
param_grid = {
'n_estimators': [50, 100, 150, 200],
'max_depth': [2, 4, 6, 8],
'min_samples_split': [2, 4, 6, 8],
'min_samples_leaf': [1, 2, 4],
'max_features': ['auto', 'sqrt', 'log2']
}
# 实例化随机森林分类器
rfc = RandomForestClassifier(random_state=42)
# 使用网格搜索进行参数调优
grid_search = GridSearchCV(estimator=rfc, param_grid=param_grid, cv=5)
grid_search.fit(iris.data, iris.target)
# 输出最优参数
print("最优参数:", grid_search.best_params_)
# 使用最优参数训练模型
rfc_best = RandomForestClassifier(**grid_search.best_params_, random_state=42)
scores = cross_val_score(rfc_best, iris.data, iris.target, cv=5, scoring='accuracy')
# 输出交叉验证得分
print("交叉验证得分:", scores.mean())
```
这段代码使用了 GridSearchCV 进行参数调优,并使用交叉验证评估模型性能。你可以自己调整参数范围和模型评估指标,以得到最优的模型性能。
阅读全文