1.安裝graphviz。
graphviz自己是一個繪圖工具軟件,下載地址在:http://www.graphviz.org/。若是你是linux,能夠用apt-get或者yum的方法安裝。若是是windows,就在官網下載msi文件安裝。不管是linux仍是windows,裝完後都要設置環境變量,將graphviz的bin目錄加到PATH,好比我是windows,將C:/Program Files (x86)/Graphviz2.38/bin/加入了PATHpython
2.安裝python插件graphviz。
python上有支持graphviz使用 的import graphvizlinux
3.安裝python插件pydotplus。
import pydotpluswindows
from IPython.display import Image工具
這樣環境就搭好了,有時候python會很笨,仍然找不到graphviz,這時,能夠在代碼裏面加入這一行:spa
os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'.net
注意後面的路勁是你本身的graphviz的bin目錄。插件
四、繪圖
#用決策樹建模命令行
clf = tree.DecisionTreeClassifier() #默認的選取最優節點的標準是基尼係數,若想使用信息增益則爲entropy clf = clf.fit(Xtrain, Ytrain) score = clf.score(Xtest, Ytest) #返回預測的準確度 print(str(clf)) print(score)
#用graphviz會畫得決策樹(沒有解決中文亂碼的問題???十分苦惱)code
輸出PDF至項目文件夾:blog
import pydotplus import os from sklearn.externals.six import StringIO os.environ["PATH"] += os.pathsep + 'E:\graphviz\bin' dot_data = StringIO() tree.export_graphviz(clf #模型 ,feature_names= feature_name #tez ,class_names=["琴酒","雪莉","貝爾摩德"] #類別名 ,filled=True #由顏色標識不純度 ,rounded=True #樹節點爲圓角矩形 ,out_file=dot_data ) graph = pydotplus.graph_from_dot_data(dot_data.getvalue()) graph.write_pdf("wine.pdf") #https://blog.csdn.net/chai_zheng/article/details/78226556
生成tree.dot文件,再用graphviz生成:
#生成tree.dot文件
with open("tree.dot", 'w') as f: f = tree.export_graphviz(clf , feature_names = feature_name # tez , class_names = ["琴酒", "雪莉", "貝爾摩德"] # 類別名 , filled = True # 由顏色標識不純度 , rounded = True # 樹節點爲圓角矩形 ,out_file=f)
a)經過graphviz的exe程序導入dot文件生成相對應的png或者pdf文件
b)經過命令行dot -Tpdf tree.dot -o output.pdf,dot -Tpng tree.dot -o output.png將dot文件生成png或者pdf文件