请用Python写出基于CART决策树的鸢尾花数据分类,并用深度控制,使每一棵树可视化
时间: 2023-06-06 15:07:30 浏览: 138
决策树实现对鸢尾花分类
好的,我可以回答这个问题。以下是Python代码:
```python
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.tree import export_graphviz
iris = load_iris()
X = iris.data[:, 2:] # 只使用花瓣长度和花瓣宽度两个特征
y = iris.target
# 使用 CART 决策树训练模型
tree_clf = DecisionTreeClassifier(max_depth=3, random_state=42)
tree_clf.fit(X, y)
# 生成可视化的决策树图像
export_graphviz(
tree_clf,
out_file="iris_tree.dot",
feature_names=iris.feature_names[2:],
class_names=iris.target_names,
rounded=True,
filled=True
)
```
这段代码使用 `sklearn` 库中的 `DecisionTreeClassifier` 类初始化了一个 CART 决策树模型,然后使用 `fit` 方法拟合了鸢尾花数据集,并使用 `export_graphviz` 方法将生成的决策树可视化输出到 `iris_tree.dot` 文件中。在可视化中,可以看到每个节点的判断条件、样本数目和分类情况等信息。
阅读全文