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_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_ 的長度相符。

在 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