学无先后,达者为师

网站首页 编程语言 正文

如何解决决策树可视化的中文乱码问题?(部分解决)

作者:Sun_Sherry 更新时间: 2022-02-05 编程语言

问题描述:在使用pydotplus和Graphviz对决策树结构进行可视化的时候,由于训练数据的特征名称使用的是中文,所以在最终的可视化结果中,中文被显示成了乱码,具体如下图:
在这里插入图片描述

从网上找到的一些资料说,需要对GraphViz中的font配置文件做修改,但这些资料中所说的解决方案都是针对GraphViz 2.39版本做的,对于Graphviz2.49(目前的最新版本)无效(因为里面的配置文件都变了,也有可能是我安装的Graphviz版本里面的包不全)。我的解决方案如下:

dot_data=tree.export_graphviz(dtc,
                              feature_names=feats,
                              class_names=['N','Y'],
                              filled=True,special_characters=True,
                              rounded=True)
graph=pydotplus.graph_from_dot_data(dot_data)
#在原有的可视化代码后面添加如下代码,人为修改每个节点的fontname属性值
for node in graph.get_nodes(): 
    node.set_fontname(lambda x:'SimHei')
Image(graph.create_png())

最后的可视化结果为(因为这种做法会抛出一些异常,所以才说是”部分解决“):
在这里插入图片描述

原文链接:https://blog.csdn.net/yeshang_lady/article/details/120220778

栏目分类
最近更新