python - 在 Python 中将 create_tree_digraph 图写入 png 文件
问题描述
我希望我的 lightgbm 模型树保存为 .png 格式。我尝试了 lightgbm API 的两种绘图方法 - plot_tree 和 create_tree_diagraph。
import lightgbm as lgb
from sklearn.datasets import load_iris
X, y = load_iris(True)
clf = lgb.LGBMClassifier()
clf.fit(X, y)
当我使用 plot_tree 时,它会显示树,但代替值的是小空白框
lgb.plot_tree(clf, tree_index=0)
当我尝试 create_tree_diagraph 时,我得到了图表,但我无法按原样保存它。
lgb.create_tree_digraph(clf)
我使用下面的代码将其保存为一个文件,但它被保存为第一个图(使用 plot_tree)
import graphviz
s = graphviz.Source(graph_b.source, filename = "test1.gv", format = "png")
s.view()
将绘图保存为图像的任何建议。我最终想把这些树图写成excel。我正在使用graphviz 0.8.3版谢谢,
解决方案
我想你正在使用 jupyter notebook 或类似的东西。这对我有用,但肯定不是最好的方法。
ax = lgb.create_tree_digraph(clf)
with open('fst.svg', 'w') as f:
f.write(ax._repr_svg_())
推荐阅读
- vlc - 使用 vlc 的动态视频流
- mobile - 如何根据手机号码跟踪位置/状态?
- shopify-app - 通过公共应用程序附加 Collections.Liquid 文件
- java - 如何修复 JAXB 上下文的 newInstance 中的 nullPointerException
- git - git subtree 和只是在子目录中克隆 git 有什么区别?
- android-studio - 如何在textview下面画一条线
- outlook-redemption - 手动制作.Pst文件时的大小问题
- azure - 无法在 Azure 应用服务部署中心选择 GitHub 组织
- maven - 将应用程序部署到多个环境的节点(maven)
- javascript - javascript中函数的替代方法