决策树可视化,被惊艳到了!

机器学习算法与Python实战

共 728字,需浏览 2分钟

 ·

2021-12-09 20:13

↓↓↓点击关注,回复资料,10个G的惊喜

目前无论是机器学习竞赛还是工业界,最流行、应用最广泛的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

使用也很简单

推荐阅读

  1. 用Python学线性代数:自动拟合数据分布
  2. Python 用一行代码搞事情,机器学习通吃
  3. Github 上最大的开源算法库,还能学机器学习!
  4. JupyterLab 这插件太强了,Excel灵魂附体
  5. 终于把 jupyter notebook 玩明白了
  6. 一个超好用的 Python 标准库,666 
  7. 几百本编程中文书籍(含Python)持续更新
  8. 100天搞定机器学习|Day63 彻底掌握 LightGBM
  9. 100天搞定机器学习 番外:使用FastAPI构建机器学习API


你也「在看」吗?👇

浏览 46
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报