被驚艷到了!決策樹可視化


目前無論是機器學習競賽還是工業界,最流行、應用最廣泛的xgboost其實是優化后的GBDT(LightGBM里面的boosting比較經典穩定的也是GBDT哦!),而GBDT的基分類器最常用的就是CART決策樹!掌握決策樹,對理解之后的GBDT、LightGBM都有大有裨益。

可視化的方式理解決策樹,對深刻理解這個模型很有幫助。大家最熟知的決策樹可視化實現方式是下面這種:

dot_data = export_graphviz(
    clf,
    out_file=None,
    feature_names=df.columns[:-1],
    class_names=["good", "bad"],
    filled=True,
    rounded=True,
    special_characters=True,
)
graph2 = pydotplus.graph_from_dot_data(dot_data)
graph2.write_png("./pics/tree.png")

這種方法很好地展示了樹的結構,但並不完美:
1、基尼系數會占用圖中的空間,並且不利於解釋
2、每個節點中各目標類別的樣本數不夠直觀

今天向大家介紹一個更為驚艷的決策樹可視化庫——dtreeviz ,我們直接看幾張效果圖


dtreeviz有以下特色:

  • 利用有顏色的目標類別圖例
  • 葉子大小與該葉子中的樣本數成正比
  • 將≥和<用作邊緣標簽,看起來更清晰
  • 決策節點利用堆疊直方圖展示特征分布,每個目標類別都會用不同的顏色顯示
  • 在每個節點中各目標類別的樣本數都用直方圖的形式,這樣可以提供更多信息

dtreeviz同樣依賴GraphViz,其安裝配置方法可以參考我之前的文章(決策樹的可視化

GraphViz 搞定后,安裝dtreeviz即可

pip install dtreeviz             # install dtreeviz for sklearn
pip install dtreeviz[xgboost]    # install XGBoost related dependency
pip install dtreeviz[pyspark]    # install pyspark related dependency
pip install dtreeviz[lightgbm]   # install LightGBM related dependency

使用也很簡單

bingo


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM