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 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_depthint, default=None
表示的最大深度。如果为 None,则完全生成树。
- feature_names形状为 (n_features,) 的类数组对象,默认=None
包含特征名称的数组。如果为 None,将使用通用名称(“x[0]”, “x[1]”, …)。
- class_names形状为 (n_classes,) 的类数组对象或布尔值,默认=None
按数值升序排列的每个目标类别的名称。仅适用于分类,不支持多输出。如果为
True,则显示类名的符号表示。- label{‘all’, ‘root’, ‘none’}, 默认=’all’
是否显示杂质(impurity)等的提示标签。选项包括 ‘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 {...