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