正在和老师做一个医学的机器学习项目, 需要将树模型内部结构可视化以便于医学解释
于是最简单的便是使用graphviz, 但是样子比较丑, 不利于展示可视化说明
太丑了于是看到使用dtreeviz的可视化效果特别好看, 而且内部决策过程一目了然的清晰
但是实际使用的时候, Dtreeviz默认是不支持中文的, 网上也搜不到一个好的解决方案(甚至可以说几乎就没有), 唯一找到的是这位兄弟的解决办法:
- 通过修改dtreeviz 的底层代码和matplotlib 的配置解决
如何更优雅地可视化决策树续:完美中文支持 - 墨天轮并且作者的github给出了修改后的代码配置文件的: https://github.com/alitrack/dtreeviz
我试着照着流程去做, 但是并没有成功, 于是我照着思路去对比了treeviz/tree.py的底层代码
发现这个包已经更新了,好几次, 不是最初作者的那个版本了
现在它的dtreeviz函数已经有了一个fontname的参数可以支持修改显示的字体了, 默认是不能显示中文的Arial, 所以这时候我们只需要把它改成可以支持中文的字体如"SimHei"就行了
为了一劳永逸, 建议直接在源代码上设置默认字体
可以选择在输入参数的时候加上一个fontname=''参数选择, 但是有些时候在运行代码处修改没用
这里我建立直接在源代码上修改默认字体.