天天看點

決策樹可視化graphviz

決策樹可視化graphviz

這裡以Windows為例,其他的類似

graphviz官網下載下傳位址

決策樹可視化graphviz
決策樹可視化graphviz
決策樹可視化graphviz
決策樹可視化graphviz
決策樹可視化graphviz
決策樹可視化graphviz

安裝

一直點下去就可以,記住自己的安裝路徑

環境變量配置

據說是系統變量和使用者變量都需要配置,我這裡沒有驗證就都配置了

決策樹可視化graphviz
決策樹可視化graphviz

驗證是否成功

進去cmd中輸入dot -version,顯示如下内容就是成功了

決策樹可視化graphviz

python環境中安裝

我用的pycharm,在Terminal中

pip install graphviz

即可

至此,graphviz就安裝完成了!!!

我主要是用來可視化決策樹!

這是我的部分代碼,注意這個知識決策樹訓練我定義的函數,并不能直接執行!!

import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.tree import DecisionTreeRegressor
from sklearn.externals.six import StringIO
from sklearn import tree


def train_decision_tree(df: pd.DataFrame, target_column: str, feature_columns: list):
    scaler = StandardScaler()

    x = df[feature_columns]
    y = df[target_column]

    # x = scaler.fit_transform(x)

    classifier = DecisionTreeRegressor(max_depth=5)
    classifier.fit(x, y)
    classifier.predict(x)
    dot_data = StringIO()
    tree.export_graphviz(classifier, out_file=dot_data, feature_names=feature_columns, filled=True,
                         rounded=True, special_characters=True)

    return scaler, classifier
           

但是我決策樹标簽中的中文顯示亂碼了,鬧心×100(這個圖是網上找的,内容相關,我自己的圖不放了)

決策樹可視化graphviz

解決辦法

網上找到了兩種辦法,一種是将圖形儲存為png,另一種方法是将圖形儲存為pdf!

這裡我隻試了前一種,是以也隻介紹前一種!

決策樹可視化graphviz

這部分代碼會在目錄下生成一個

tree.dot

檔案

按照網上的經驗是将

tree.dot

中節點和邊的

fontname

改為支援中文的,由于我這裡隻設計到節點,我隻将節點的

fontname

改為了

fangsong

決策樹可視化graphviz

接下來是在目前目錄下的指令行中執行

dot -Tpng tree.dot -o test.png

,但是好巧不巧,又報錯了

Error: dot: can’t open tree.dot

也不知道為啥,一通百度,但是不知道為啥莫名奇妙的好了,我啥也沒改啊,以圖為證!!!

決策樹可視化graphviz

當然解決問題還是重要的,這裡附上其他大佬的經驗以供參考!

參考文獻

https://blog.csdn.net/qq_33642342/article/details/86160880

https://www.dazhuanlan.com/2019/12/12/5df142efb0cf9/

https://www.pinggu.com/post/details/5eef3ffb2a465535582e3b8a

https://www.cnblogs.com/wqbin/p/11589533.html