日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

如何解決決策樹(shù)可視化的中文亂碼問(wèn)題?(部分解決)

作者:Sun_Sherry 更新時(shí)間: 2022-02-05 編程語(yǔ)言

問(wèn)題描述:在使用pydotplus和Graphviz對(duì)決策樹(shù)結(jié)構(gòu)進(jìn)行可視化的時(shí)候,由于訓(xùn)練數(shù)據(jù)的特征名稱使用的是中文,所以在最終的可視化結(jié)果中,中文被顯示成了亂碼,具體如下圖:
在這里插入圖片描述

從網(wǎng)上找到的一些資料說(shuō),需要對(duì)GraphViz中的font配置文件做修改,但這些資料中所說(shuō)的解決方案都是針對(duì)GraphViz 2.39版本做的,對(duì)于Graphviz2.49(目前的最新版本)無(wú)效(因?yàn)槔锩娴呐渲梦募甲兞耍灿锌赡苁俏野惭b的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)
#在原有的可視化代碼后面添加如下代碼,人為修改每個(gè)節(jié)點(diǎn)的fontname屬性值
for node in graph.get_nodes(): 
    node.set_fontname(lambda x:'SimHei')
Image(graph.create_png())

最后的可視化結(jié)果為(因?yàn)檫@種做法會(huì)拋出一些異常,所以才說(shuō)是”部分解決“):
在這里插入圖片描述

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

欄目分類
最近更新