03.01 將決策樹的過程可視化

在使用決策樹算法進行分類的時候,有時候我們想看看決策樹究竟是如何進行分類的。下面,將介紹使用sklearn來構建一個決策樹,並導出決策樹的結果dot文件,通過GraphViz將dot文件,保存成一張圖片。

一、決策樹實現鳶尾花的分類

from sklearn.tree import DecisionTreeClassifier
from sklearn.tree import export_graphviz
import pandas as pd
if __name__ == "__main__":
#構建一顆決策樹
#決策樹的深度為5,以信息增益作為屬性的劃分準則即ID3樹
tree = DecisionTreeClassifier(criterion="entropy",max_depth=10,random_state=0)
#讀取鳶尾花數據
data = pd.read_csv("iris.data")
#獲取鳶尾花數據的標籤
y_label = data.iloc[:,4].values
#獲取鳶尾花的特徵
x = data.iloc[:,[0,1,2,3]].values
tree.fit(x,y_label)
#導出結果dot文件
export_graphviz(tree,out_file="tree.dot",feature_names=["萼片長度","萼片寬度","花瓣長度","花瓣寬度"])

二、下載安裝GraphViz

1、官網下載地址:https://graphviz.gitlab.io/_pages/Download/Download_windows.html

將決策樹的過程可視化

2、下載之後,雙擊msi文件進行安裝

3、配置環境變量,將安裝好的graphviz目錄下的bin目錄路徑添加到path中

三、將dot文件轉成圖片

dot -Tpng tree.dot -o tree.png

裝換之後會出現中文會出現亂碼,在dot文件中的node上一行添加下面的行

node [shape=plaintext, fontname="Microsoft Yahei"];//添加行
node [shape=box] ;

將決策樹的過程可視化


分享到:


相關文章: