export_graphviz#

sklearn.tree.export_graphviz(decision_tree, out_file=None, *, max_depth=None, feature_names=None, class_names=None, label='all', filled=False, leaves_parallel=False, impurity=True, node_ids=False, proportion=False, rotate=False, rounded=False, special_characters=False, precision=3, fontname='helvetica')[原始碼]#

以 DOT 格式匯出決策樹。

此函數會產生決策樹的 GraphViz 表示法,然後將其寫入 out_file。匯出後,可以使用以下方式產生圖形呈現,例如

$ dot -Tps tree.dot -o tree.ps      (PostScript format)
$ dot -Tpng tree.dot -o tree.png    (PNG format)

顯示的樣本計數會使用可能存在的任何 sample_weights 進行加權。

使用者指南中閱讀更多內容。

參數:
decision_tree物件

要匯出到 GraphViz 的決策樹估算器。

out_file物件或 str,預設值=None

輸出檔案的控制代碼或名稱。如果為 None,則結果會以字串形式傳回。

在 0.20 版本中變更:out_file 的預設值從「tree.dot」變更為 None。

max_depthint,預設值=None

表示法的最大深度。如果為 None,則會完整產生樹狀結構。

feature_names形狀為 (n_features,) 的類陣列,預設值=None

包含特徵名稱的陣列。如果為 None,則會使用通用名稱(「x[0]」、「x[1]」...)。

class_names形狀為 (n_classes,) 的類陣列或 bool,預設值=None

每個目標類別依數值遞增順序排列的名稱。僅適用於分類,不支援多輸出。如果為 True,則會顯示類別名稱的符號表示法。

label{‘all’, ‘root’, ‘none’},預設值=’all’

是否顯示雜質等資訊性標籤。選項包括「all」(在每個節點顯示)、「root」(僅在頂層根節點顯示)或「none」(不在任何節點顯示)。

filledbool,預設值=False

設定為 True 時,繪製節點以表示分類的多數類別、迴歸的值極值或多輸出的節點純度。

leaves_parallelbool,預設值=False

設定為 True 時,將所有葉節點繪製在樹狀結構的底部。

impuritybool,預設值=True

設定為 True 時,顯示每個節點的雜質。

node_idsbool,預設值=False

設定為 True 時,在每個節點上顯示 ID 編號。

proportionbool,預設值=False

設定為 True 時,將「values」和/或「samples」的顯示變更為比例和百分比。

rotatebool,預設值=False

設定為 True 時,將樹狀結構的方向從上到下改為從左到右。

roundedbool,預設值=False

設定為 True 時,繪製具有圓角的節點框。

special_charactersbool,預設值=False

設定為 False 時,忽略特殊字元以實現 PostScript 相容性。

precisionint,預設值=3

每個節點的雜質、閾值和值屬性的浮點數值的精確位數。

fontnamestr,預設值=’helvetica’

用於呈現文字的字型名稱。

傳回:
dot_datastr

以 GraphViz dot 格式表示的輸入樹狀結構的字串表示法。僅在 out_file 為 None 時傳回。

在 0.18 版本中新增。

範例

>>> from sklearn.datasets import load_iris
>>> from sklearn import tree
>>> clf = tree.DecisionTreeClassifier()
>>> iris = load_iris()
>>> clf = clf.fit(iris.data, iris.target)
>>> tree.export_graphviz(clf)
'digraph Tree {...