决策树参数调优的代码
时间: 2024-06-23 07:02:30 浏览: 109
决策树的参数调优是机器学习中常见的步骤,以提高模型性能和防止过拟合。在Python的scikit-learn库中,我们可以使用`GridSearchCV`或`RandomizedSearchCV`来调整决策树的参数。这里是一个基本的例子,展示如何使用`GridSearchCV`来优化`DecisionTreeClassifier`的参数:
```python
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import GridSearchCV
from sklearn.datasets import load_iris
# 加载数据集
iris = load_iris()
X, y = iris.data, iris.target
# 定义参数网格
param_grid = {
'criterion': ['gini', 'entropy'], # 划分标准
'max_depth': [None, 5, 10, 20], # 树的最大深度
'min_samples_split': [2, 5, 10], # 分裂节点所需的最小样本数
'min_samples_leaf': [1, 2, 4], # 叶子节点所需的最小样本数
}
# 创建决策树分类器
dtree = DecisionTreeClassifier()
# 使用GridSearchCV进行调优
grid_search = GridSearchCV(dtree, param_grid, cv=5) # 交叉验证次数
grid_search.fit(X, y)
# 查看最佳参数组合
print("Best parameters: ", grid_search.best_params_)
best_model = grid_search.best_estimator_
# 使用最佳参数训练模型
best_model.fit(X, y)
阅读全文