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