sklearn.tree.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)
[源碼]
以DOT格式導出決策樹模型。
該函數生成決策樹的可視化表示,然后將其寫入指定的輸出文件out_file中。 導出后,可以使用以下方式生成圖形渲染:
$ dot -Tps tree.dot -o tree.ps (PostScript format)
$ dot -Tpng tree.dot -o tree.png (PNG format)
顯示的樣本計數將使用可能存在的任何sample_weights加權。
想了解更多請參閱 用戶指南.
| 參數 | 說明 |
|---|---|
| decision_tree | decision tree classifier 用來做可視化的決策樹模型 |
| out_file | file object or string, optional (default=None) 輸出文件的句柄或名稱。 如果為None,則結果以字符串形式返回 在0.20版本中更新: out_file的默認值從"tree.dot"更改為None。 |
| max_depth | int, optional (default=None) 描繪的最大深度。如果為None,則這樹完全生長。 |
| feature_names | list of strings, optional (default=None) 每個特征的名字 |
| class_names | list of strings, bool or None, optional (default=None) 每個目標類別的名稱、按升序排列。 僅與分類相關,不支持多輸出。 如果為True,則顯示類名稱的符號表示。 |
| label | {‘all’, ‘root’, ‘none’}, optional (default=’all’) 是否顯示不純度的信息性標簽等。選項包括“ all”顯示在每個節點上,“ root”顯示在頂部根節點上,“ none”顯示在任何節點上。 |
| filled | bool, optional (default=False) 設置為True時,繪制節點以表示多數類用于分類問題,值的極值用于回歸問題,或表示節點的純度用于多輸出問題。 |
| leaves_parallel | bool, optional (default=False) 設置為True時,在樹的底部繪制所有葉節點。 |
| impurity | bool, optional (default=True) 設置為True時,顯示每個節點上的不純度。 |
| node_ids | bool, optional (default=False) 設置為True時,顯示每個節點上的ID號。 |
| proportion | bool, optional (default=False) 設置為True時,將“值”和/或“樣本”的顯示分別更改為比例和百分比。 |
| rotate | bool, optional (default=False) 設置為True時,將樹從左到右而不是自上而下定向。 |
| rounded | bool, optional (default=False) 設置為True時,繪制帶有圓角的節點框,并使用 Helvetica字體代替Times-Roman。 |
| special_characters | bool, optional (default=False) 設置為False時,請忽略特殊字符以實現PostScript兼容性。 |
| precision | int, optional (default=3) 每個節點的雜質值,閾值和值屬性中浮點數的精度位數。 |
| 返回值 | 說明 |
|---|---|
| dot_data | string 樹模型 GraphViz dot 格式的字符串表現形式。僅僅在 out_file為None時返回。 |
示例
>>> 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 {...
