可视化决策树

# 我们可以利用 tree 模块的 export_graphviz 函数来将树可视化

# 这个函数会生成一
# 个 .dot 格式的文件,这是一种用于保存图形的文本文件格式。我们设置为结点添加颜色
# 的选项,颜色表示每个结点中的多数类别,同时传入类别名称和特征名称
from sklearn.tree import export_graphviz
export_graphviz(tree, out_file="tree.dot", class_names=["malignant", "benign"],
feature_names=cancer.feature_names, impurity=False, filled=True)


# 我们可以利用 graphviz 模块读取这个文件并将其可视化(你也可以使用任何能够读取 .dot
# 文件的程序)
import graphviz

with open("tree.dot") as f:
dot_graph = f.read()
display(graphviz.Source(dot_graph))

可视化决策树_决策树

观察 worst radius <= 16.795 分支右侧的子结点,我们发现它只包含
8 个良性样本,但有 134 个恶性样本。树的这一侧的其余分支只是利用一些更精细的区别
将这 8 个良性样本分离出来。在第一次划分右侧的 142 个样本中,几乎所有样本(132 个)
最后都进入最右侧的叶结点中。
再来看一下根结点的左侧子结点,对于 worst radius > 16.795,我们得到 25 个恶性样本
259