形势
当我绘制xgboost.plot_tree
时,我只在图形上得到一堆空字符/框/块,而不是标题、标签和数字。我使用了400多个功能,因此这可能是一个促成因素
代码1
fig, ax = plt.subplots(figsize=(170, 170))
plot_tree(xgbmodel, ax=ax)
plt.savefig("temp.pdf")
plt.show()
代码2
plot_tree(xgbmodel, num_trees=2)
fig = plt.gcf()
fig.set_size_inches(150, 100)
fig.savefig('tree.png')
错误
我尝试过的解决方案
model.get_booster().get_dump(dump_format='text')
打印了一个略多于200000个字符=63个A4大小的页面,11种大小的Calibri字体,看起来非常正确,例如:0.0268656723\n\t\t\t\t\t34:[f0<6.5] yes=53,no=54,missing=53\n\t\t\t\t\t\
。有没有可能我有这个问题,因为它不能显示这么多的文本在这样一个正常大小的图形李>
我已经将我的整个环境从AWS EC2移动到了一台本地机器上,使其运行得更加完美。AWS EC2还有一些奇怪的东西,比如它不允许在Jupyter实验室使用扩展。它们都是Ubuntu20.04 LTS
我无法重现你的错误。能否请您在问题中添加更多详细信息,并确认此代码有效link to pima-indians-diabetes.csv
按评论编辑:
我无法重现此问题/错误。无论哪种软件包版本/字符编码/行尾等,我的笔记本始终正确呈现文本。我唯一能建议的是使用当前版本的所需软件包(conda install notebook numpy matplotlib xgboost graphviz python graphviz)安装一个新的虚拟环境(例如miniconda),并再次对其进行测试
此外,请确保没有windows行结尾(请参见:Matplotlib plotting some characters as blank square/https://github.com/jupyterlab/jupyterlab/issues/1104/https://github.com/jupyterlab/jupyterlab/issues/3718/https://github.com/jupyterlab/jupyterlab/pull/3882),并指定正在使用的字体(例如How to change fonts in matplotlib (python)?):
相关问题 更多 >
编程相关推荐