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如圖所示: