使用sklearn的决策树算法完成鸢尾花的分类预测,并使用网格搜索(GridSearchCV)选择最优的决策树参数(如树的深度,节点的叶子树等)。
时间: 2023-06-04 19:03:28 浏览: 423
好的,这是一个机器学习问题,我可以帮您回答。下面是代码示例:
``` python
from sklearn import datasets
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import GridSearchCV
# 加载数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 定义决策树参数网格
param_grid = {
'max_depth': [2, 3, 4, 5, 6, 7, 8],
'min_samples_leaf': [1, 2, 3, 4, 5],
}
# 定义决策树分类器
dtree = DecisionTreeClassifier()
# 定义网格搜索器
grid_search = GridSearchCV(dtree, param_grid, cv=5)
# 拟合数据
grid_search.fit(X, y)
# 输出最优参数及最优得分
print("Best parameters: ", grid_search.best_params_)
print("Best score: ", grid_search.best_score_)
```
以上就是使用sklearn的决策树算法完成鸢尾花的分类预测,并使用网格搜索选择最优的决策树参数的代码示例。
阅读全文