export_text#
- sklearn.tree.export_text(decision_tree, *, feature_names=None, class_names=None, max_depth=10, spacing=3, decimals=2, show_weights=False)[源码]#
构建一个显示决策树规则的文本报告。
请注意,可能不支持向后兼容性。
- 参数:
- decision_tree对象
要导出的决策树估计器。它可以是 DecisionTreeClassifier 或 DecisionTreeRegressor 的实例。
- feature_namesarray-like,形状为 (n_features,),默认值=None
包含特征名称的数组。如果为 None,将使用通用名称(“feature_0”、“feature_1”等)。
- class_namesarray-like,形状为 (n_classes,),默认值=None
每个目标类按升序排列的名称。仅与分类相关,不支持多输出。
如果为
None
,则类名委托给decision_tree.classes_
;否则,将使用
class_names
作为类名,而不是decision_tree.classes_
。class_names
的长度必须与decision_tree.classes_
的长度匹配。
版本 1.3 中新增。
- max_depthint,默认值=10
仅导出树的前 max_depth 层。被截断的分支将标记为“…”。
- spacingint,默认值=3
边之间的空格数。值越高,结果越宽。
- decimalsint,默认值=2
要显示的十进制数字位数。
- show_weightsbool,默认值=False
如果为 True,分类权重将导出到每个叶子。分类权重是每个类的样本数。
- 返回:
- reportstr
决策树中所有规则的文本摘要。
示例
>>> from sklearn.datasets import load_iris >>> from sklearn.tree import DecisionTreeClassifier >>> from sklearn.tree import export_text >>> iris = load_iris() >>> X = iris['data'] >>> y = iris['target'] >>> decision_tree = DecisionTreeClassifier(random_state=0, max_depth=2) >>> decision_tree = decision_tree.fit(X, y) >>> r = export_text(decision_tree, feature_names=iris['feature_names']) >>> print(r) |--- petal width (cm) <= 0.80 | |--- class: 0 |--- petal width (cm) > 0.80 | |--- petal width (cm) <= 1.75 | | |--- class: 1 | |--- petal width (cm) > 1.75 | | |--- class: 2