sklearn.tree.export_text

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

Build a text report showing the rules of a decision tree.

Note that backwards compatibility may not be supported.

Parameters:
decision_treeobject

The decision tree estimator to be exported. It can be an instance of DecisionTreeClassifier or DecisionTreeRegressor.

feature_nameslist of str, default=None

A list of length n_features containing the feature names. If None generic names will be used (“feature_0”, “feature_1”, …).

max_depthint, default=10

Only the first max_depth levels of the tree are exported. Truncated branches will be marked with “…”.

spacingint, default=3

Number of spaces between edges. The higher it is, the wider the result.

decimalsint, default=2

Number of decimal digits to display.

show_weightsbool, default=False

If true the classification weights will be exported on each leaf. The classification weights are the number of samples each class.

Returns:
reportstr

Text summary of all the rules in the decision tree.

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