解决可视化决策树dtreeviz无法显示中文的问题

正在和老师做一个医学的机器学习项目, 需要将树模型内部结构可视化以便于医学解释

于是最简单的便是使用graphviz, 但是样子比较丑, 不利于展示可视化说明

解决可视化决策树dtreeviz无法显示中文的问题_第1张图片 太丑了

于是看到使用dtreeviz的可视化效果特别好看, 而且内部决策过程一目了然的清晰

解决可视化决策树dtreeviz无法显示中文的问题_第2张图片

但是实际使用的时候, Dtreeviz默认是不支持中文的, 网上也搜不到一个好的解决方案(甚至可以说几乎就没有), 唯一找到的是这位兄弟的解决办法:

        - 通过修改dtreeviz 的底层代码和matplotlib 的配置解决

解决可视化决策树dtreeviz无法显示中文的问题_第3张图片 如何更优雅地可视化决策树续:完美中文支持 - 墨天轮

并且作者的github给出了修改后的代码配置文件的: https://github.com/alitrack/dtreeviz

我试着照着流程去做, 但是并没有成功, 于是我照着思路去对比了treeviz/tree.py的底层代码

 

解决可视化决策树dtreeviz无法显示中文的问题_第4张图片

 

发现这个包已经更新了,好几次, 不是最初作者的那个版本了

解决可视化决策树dtreeviz无法显示中文的问题_第5张图片

 

现在它的dtreeviz函数已经有了一个fontname的参数可以支持修改显示的字体了, 默认是不能显示中文的Arial, 所以这时候我们只需要把它改成可以支持中文的字体如"SimHei"就行了

 

解决可视化决策树dtreeviz无法显示中文的问题_第6张图片 为了一劳永逸, 建议直接在源代码上设置默认字体

 可以选择在输入参数的时候加上一个fontname=''参数选择, 但是有些时候在运行代码处修改没用

 解决可视化决策树dtreeviz无法显示中文的问题_第7张图片

 

这里我建立直接在源代码上修改默认字体.

你可能感兴趣的:(决策树,算法,机器学习)