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