如何放大matplotlib绘制scikit-learn决策树时的节点尺寸提升清晰度
决策树可视化节点尺寸放大调整方案
你可以通过调整绘图参数同时解决节点偏小、内容模糊的问题,具体修改方式如下:
核心调整点
- 调整
plt.figure的dpi参数:默认dpi通常为100,调高到200~300即可大幅提升画面清晰度,避免文字发虚 - 给
tree.plot_tree添加fontsize参数:放大节点内的文字后,节点边框会自动适配文字尺寸扩大,是最直接的放大节点方式 - 可选添加
proportion=True参数:开启后节点宽度会按该节点样本占总样本的比例自适应调整,节点整体会更舒展,不会挤成一团 - 适当放大
figsize数值:如果决策树层级较多,可以把(15,15)调整为(20,20)甚至更大,给节点留出足够的展示空间
修改后示例代码
from sklearn import tree import matplotlib.pyplot as plt # 调整画布尺寸、增加dpi参数提升清晰度 plt.figure(figsize=(20,20), dpi=200) # 新增fontsize、proportion参数放大节点和文字 tree.plot_tree(model_dt_smote, filled=True, fontsize=10, proportion=True) # 自动调整布局避免边缘节点内容被截断 plt.tight_layout() plt.show()
额外优化建议
如果你的决策树训练时没有限制最大深度,节点数量过多导致整体过于拥挤,可以在tree.plot_tree中添加max_depth参数限制展示的层数,比如max_depth=5,仅展示前5层的节点结构,展示效果会更清晰。
内容的提问来源于stack exchange,提问作者Nitish Santpur
相关产品推荐
相关产品推荐

