sklearn.tree.export_text?

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

源碼

建立一個文本報告,顯示決策樹的規則。 請注意,可能不支持向后兼容。

參數 說明
decision_tree object
要導出的決策樹評估器。它可以是DecisionTreeClassifier或DecisionTreeRegressor的實例。
feature_names list, optional (default=None)
包含特征名稱的長度為n_features的列表。 如果為None,則使用通用名稱(“ feature_0”,“ feature_1”,…)。
max_depth int, optional (default=10)
僅導出樹的第一個max_depth級別。截斷的分支將標記為“…”。
spacing int, optional (default=3)
邊之間的間隔數。值越高,結果越寬。
decimals int, optional (default=2)
要顯示的小數位數。
show_weights bool, optional (default=False)
如果為true,則將在每個葉子上導出分類權重。分類權重是每個類別的樣本數。
返回值 說明
report string
決策樹中所有規則的文本摘要。

示例

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