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