导出图#
- 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 {... 
