export_graphviz#
- sklearn.tree.export_graphviz(decision_tree, out_file=None, *, max_depth=None, feature_names=None, class_names=None, label='all', filled=False, leaves_parallel=False, impurity=True, node_ids=False, proportion=False, rotate=False, rounded=False, special_characters=False, precision=3, fontname='helvetica')[source]#
以 DOT 格式导出决策树。
此函数生成决策树的 GraphViz 表示,然后将其写入
out_file
。导出后,可以使用例如以下方式生成图形渲染:$ dot -Tps tree.dot -o tree.ps (PostScript format) $ dot -Tpng tree.dot -o tree.png (PNG format)
所示的样本计数会根据可能存在的任何 sample_weights 进行加权。
在用户指南中了解更多信息。
- 参数:
- decision_tree对象
要导出到 GraphViz 的决策树估计器。
- out_file对象或字符串, 默认值=None
输出文件的句柄或名称。如果为
None
,结果将作为字符串返回。在 0.20 版本中更改: out_file 的默认值从“tree.dot”更改为 None。
- max_depth整型, 默认值=None
表示的最大深度。如果为 None,则完全生成树。
- feature_names形状为 (n_features,) 的类数组对象, 默认值=None
包含特征名称的数组。如果为 None,则使用通用名称(“x[0]”,“x[1]”,…)。
- class_names形状为 (n_classes,) 的类数组对象或布尔值, 默认值=None
目标类按升序排列的名称。仅适用于分类,不支持多输出。如果为
True
,则显示类名的符号表示。- label{‘all’, ‘root’, ‘none’}, 默认值=’all’
是否显示关于不纯度等的有益标签。选项包括‘all’(在每个节点显示)、‘root’(仅在顶部根节点显示)或‘none’(不在任何节点显示)。
- filled布尔值, 默认值=False
当设置为
True
时,为分类任务的多数类别、回归任务的值的极端性或多输出任务的节点纯度填充颜色。- leaves_parallel布尔值, 默认值=False
当设置为
True
时,将所有叶节点绘制在树的底部。- impurity布尔值, 默认值=True
当设置为
True
时,显示每个节点的不纯度。- node_ids布尔值, 默认值=False
当设置为
True
时,在每个节点上显示 ID 号。- proportion布尔值, 默认值=False
当设置为
True
时,将“values”和/或“samples”的显示更改为比例和百分比。- rotate布尔值, 默认值=False
当设置为
True
时,将树的方向从上到下改为从左到右。- rounded布尔值, 默认值=False
当设置为
True
时,绘制带有圆角的节点框。- special_characters布尔值, 默认值=False
当设置为
False
时,为 PostScript 兼容性忽略特殊字符。- precision整型, 默认值=3
每个节点的不纯度、阈值和值属性中浮点数的精度位数。
- fontname字符串, 默认值=’helvetica’
用于渲染文本的字体名称。
- 返回:
- dot_data字符串
以 GraphViz dot 格式表示的输入树的字符串。仅当
out_file
为 None 时返回。在 0.18 版本中新增。
示例
>>> from sklearn.datasets import load_iris >>> from sklearn import tree
>>> clf = tree.DecisionTreeClassifier() >>> iris = load_iris()
>>> clf = clf.fit(iris.data, iris.target) >>> tree.export_graphviz(clf) 'digraph Tree {...