scikit-learn實現決策樹並用graphviz/pydotplus實現可視化

1. 用anaconda安裝pydotplus

要說一下的是在python3.5以前用pydot。python3.5及以後pydot已經停止開發了,要用pydotplus。此博客用的python3.7版本。
在anaconda中安裝pydotplus可能安裝不上,如圖所示,沒辦法點擊apply安裝:
在這裏插入圖片描述
這時候打開terminal:
在這裏插入圖片描述
輸入pip install pydotplus 和 pip install graphviz
在這裏插入圖片描述

2. 安裝graphviz

官網下載,官網可能會很慢。或者點擊這裏下載graphviz2.38.msi
安裝完成後,在環境變量->系統變量的path中加入graphviz2.38安裝的bin文件夾:
在這裏插入圖片描述
安裝完成後一定要重啓pycharm,不然仍會提示找不到 GraphViz。,如果不重啓的話,可以在代碼中通過代碼手動加入路徑:

import os
os.environ["PATH"] += os.pathsep + 'D:/Program Files (x86)/Graphviz2.38/bin/'

3.代碼示例

# 決策樹模型
from sklearn import datasets
from sklearn.tree import DecisionTreeClassifier
import io
from sklearn import tree
import pydotplus
# 添加路徑,安裝好graphviz重啓pycharm後不需要這步代碼
import os
os.environ["PATH"] += os.pathsep + 'D:/Program Files (x86)/Graphviz2.38/bin/'
# 生成分類數據
x, y = datasets.make_classification(1000, 20, n_informative=3)
# 決策樹函數、訓練數據
dt = DecisionTreeClassifier()
dt.fit(x, y)
# 可視化決策樹
str_buffer = io.StringIO()
tree.export_graphviz(dt, out_file=str_buffer)
graph = pydotplus.graph_from_dot_data(str_buffer.getvalue())
graph.write_jpg('decision_tree.jpg')

得到的decision_tree.jpg如圖所示:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章