export_text#

sklearn.tree.export_text(decision_tree, *, feature_names=None, class_names=None, max_depth=10, spacing=3, decimals=2, show_weights=False)#

构建一个文本报告,展示决策树的规则。

请注意,可能不支持向后兼容。

Parameters:
decision_tree对象

要导出的决策树估计器。 它可以是DecisionTreeClassifier或DecisionTreeRegressor的实例。

feature_names类似数组, 形状 (n_features,), 默认=None

包含特征名称的数组。 如果为None,将使用通用名称(”feature_0”, “feature_1”, …)。

class_names类似数组, 形状 (n_classes,), 默认=None

按升序排列的每个目标类的名称。 仅与分类相关,不支持多输出。

  • 如果为 None ,类名将委托给 decision_tree.classes_

  • 否则,将使用 class_names 作为类名,而不是 decision_tree.classes_class_names 的长度必须与 decision_tree.classes_ 的长度匹配。

Added in version 1.3.

max_depthint, 默认=10

仅导出树的前max_depth层。 截断的分支将标记为”…”。

spacingint, 默认=3

边缘之间的空格数量。数值越高,结果越宽。

decimalsint, 默认=2

显示的小数位数。

show_weightsbool, 默认=False

如果为真,每个叶子上的分类权重将被导出。 分类权重是每个类别的样本数量。

Returns:
reportstr

决策树中所有规则的文本摘要。

Examples

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