写一段决策树通过用参数网格搜索方式剪枝的python代码
时间: 2023-10-11 15:09:40 浏览: 41
好的,这是一个简单的决策树模型的参数网格搜索和剪枝代码示例:
```python
from sklearn.tree import DecisionTreeRegressor
from sklearn.model_selection import GridSearchCV
# 创建决策树模型
tree = DecisionTreeRegressor()
# 定义要搜索的参数网格
params = {
'max_depth': [1, 2, 3, 4, 5],
'min_samples_split': [2, 3, 4, 5],
'min_samples_leaf': [1, 2, 3, 4],
'max_features': ['auto', 'sqrt', 'log2']
}
# 使用 GridSearchCV 进行参数搜索和剪枝
tree_cv = GridSearchCV(tree, params, cv=5)
tree_cv.fit(X_train, y_train)
# 输出最佳参数
print("Best Params:", tree_cv.best_params_)
# 使用最佳参数创建新的决策树模型并训练它
tree = DecisionTreeRegressor(**tree_cv.best_params_)
tree.fit(X_train, y_train)
```
在这个示例中,我们首先创建了一个基本的决策树模型。然后,我们定义了一个参数网格,其中包含要搜索的不同参数和参数值的组合。接下来,我们使用 GridSearchCV 对模型进行了参数搜索和剪枝,以找到最佳参数组合。最后,我们使用最佳参数创建了一个新的决策树模型,并使用训练数据进行训练。