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')#

导出一个决策树为DOT格式。

此函数生成决策树的GraphViz表示,然后将其写入 out_file 。一旦导出,可以使用以下命令生成图形渲染,例如:

$ dot -Tps tree.dot -o tree.ps      (PostScript格式)
$ dot -Tpng tree.dot -o tree.png    (PNG格式)

显示的样本计数是根据任何存在的sample_weights加权的。

更多信息请参阅:ref:用户指南 <tree>

Parameters:
decision_treeobject

要导出到GraphViz的决策树估计器。

out_fileobject or str, default=None

输出文件的句柄或名称。如果为 None ,结果将作为字符串返回。

Changed in version 0.20: out_file的默认值从”tree.dot”改为None。

max_depthint, default=None

表示的最大深度。如果为None,则完全生成树。

feature_namesarray-like of shape (n_features,), default=None

包含特征名称的数组。 如果为None,将使用通用名称(“x[0]”, “x[1]”, …)。

class_namesarray-like of shape (n_classes,) or bool, default=None

每个目标类别的名称,按数值顺序排列。 仅与分类相关,不支持多输出。 如果为 True ,显示类名的符号表示。

label{‘all’, ‘root’, ‘none’}, default=’all’

是否显示杂质等信息标签。 选项包括’all’在每个节点显示,’root’仅在顶部根节点显示,或’none’不在任何节点显示。

filledbool, default=False

当设置为 True 时,绘制节点以指示分类的多数类,回归的值的极端性,或多输出的节点纯度。

leaves_parallelbool, default=False

当设置为 True 时,在树的底部绘制所有叶节点。

impuritybool, default=True

当设置为 True 时,显示每个节点的杂质。

node_idsbool, default=False

当设置为 True 时,显示每个节点的ID号。

proportionbool, default=False

当设置为 True 时,将’values’和/或’samples’的显示改为比例和百分比。

rotatebool, default=False

当设置为 True 时,从左到右而不是从上到下排列树。

roundedbool, default=False

当设置为 True 时,绘制圆角节点框。

special_charactersbool, default=False

当设置为 False 时,忽略特殊字符以兼容PostScript。

precisionint, default=3

每个节点的杂质、阈值和值属性中浮点数的精度位数。

fontnamestr, default=’helvetica’

用于渲染文本的字体名称。

Returns:
dot_datastr

输入树的GraphViz dot格式字符串表示。 仅当 out_file 为None时返回。

Added in version 0.18.

Examples

>>> 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 {...