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_treeobject
要导出到 GraphViz 的决策树估计器。
- out_fileobject or str, default=None
输出文件的句柄或名称。如果为
None,则结果将作为字符串返回。版本 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’
用于渲染文本的字体名称。
- 返回:
- dot_datastr
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 {...