目前无论是机器学习竞赛还是工业界,最流行、应用最广泛的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")
![](http://image109.360doc.com/DownloadImg/2021/12/0810/235515354_1_20211208105317224_wm) 这种方法很好地展示了树的结构,但并不完美: 1、基尼系数会占用图中的空间,并且不利于解释 2、每个节点中各目标类别的样本数不够直观 今天向大家介绍一个更为惊艳的决策树可视化库——dtreeviz ,我们直接看几张效果图![](http://image109.360doc.com/DownloadImg/2021/12/0810/235515354_2_20211208105317677_wm) ![](http://image109.360doc.com/DownloadImg/2021/12/0810/235515354_3_2021120810531852_wm) ![](http://image109.360doc.com/DownloadImg/2021/12/0810/235515354_4_20211208105318349_wm) 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
使用也很简单 ![](http://image109.360doc.com/DownloadImg/2021/12/0810/235515354_5_20211208105318583_wm)
|