首先我也去找过网络上的很多文章,也提出了很多方法供我解决问题,但是最终试了很多都不行,比如去修改“C:\Program Files (x86)\Graphviz2.38\fonts\fonts.cont”文件中的某些代码,但是我电脑打开看的时候已经是修改过的(可能是我之前有过修改),还是不能解决掉问题,结果出来还是如下图所示。

from math import log
import pandas as pd
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn import tree
import graphviz
import pydotplus
#建立模型
ent_tree= tree.DecisionTreeClassifier(criterion="entropy",min_samples_split=2,max_depth=5,min_impurity_decrease=0.0)
#训练模型
ent_tree.fit(Xtrain,Ytrain)
#生成dot文件
dot_tree= tree.export_graphviz(ent_tree, out_file=None, feature_names=X.columns,class_names=['否', '是'],filled=True, rounded=True, special_characters=True)
graph_tree = pydotplus.graph_from_dot_data(dot_tree)# 保存图片
graph_tree.write_png("ent_tree.png")
#展示图片
from IPython.display import Image
Image(graph_tree.create_png())

最终参考一篇文章后终于解决了这个问题。

解决方法如下所示:

将生成的dot文件中的字体'helvetica'替换为'MicrosoftYaHei'就可以成功解决中文乱码的问题了。

dot_tree= tree.export_graphviz(ent_tree, out_file=None, feature_names=X.columns,class_names=['否', '是'],filled=True, rounded=True, special_characters=True)#将dot文件中的'helvetica'字体替换为'MicrosoftYahei'
dot_tree_val = dot_tree.replace('helvetica', 'MicrosoftYaHei')
graph_tree = pydotplus.graph_from_dot_data(dot_tree_val)
Image(graph_tree.create_png())

参考链接:决策树可视化:解决Graphviz中文乱码问题 - 知乎

Python决策树中文乱码解决相关推荐

  1. python爬虫中文乱码解决方法

    python爬虫中文乱码解决方法 参考文章: (1)python爬虫中文乱码解决方法 (2)https://www.cnblogs.com/surecheun/p/9694052.html 备忘一下.

  2. Graphviz画决策树中文乱码解决

    目录 画图软件Graphviz的安装 Graphviz画图时中文乱码的解决 1. Graphviz的安装 Graphviz的下载 官网下载地址 下载graphviz-2.38.msi. 安装完需要将b ...

  3. python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)

    python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) 参考文章: (1)python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) (2)https://www.cnblog ...

  4. python打包出现乱码_python解压zip包中文乱码解决方法

    乱码得原因: 由于ZipFile模块导出遇到中文解码不对,windows上会出现,linux是否会出现不知道没测试过. 解决方式: 1. 搞个文件名引射表(不太方便,少量文件夹套用时候还可以) 2. ...

  5. python cmd窗口名字_python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)

    python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) 前言 在 python 开发中,有时候想通过cmd窗口来和用户交互,比如显示信息之类的,会比自己创建 GUI 来的方便,但是随之而 ...

  6. jsoncpp中文乱码,中文显示为\u问题处理;jsoncpp中文乱码解决;源码方式使用jsoncpp;UTF_8和ASSIC相互转换;

    一.jsoncpp中文写入为\u****问题处理:jsoncpp中文乱码解决: 当我们使用jsoncpp读取写入json文件时,会发现明明是中文字符串,但是赋值给Json::Value后却变成\u** ...

  7. java中文乱码解决之道(二)—–字符编码详解:基础知识 + ASCII + GB**

    原文出处:http://cmsblogs.com/?p=1412 在上篇博文(java中文乱码解决之道(一)-–认识字符集)中,LZ简单介绍了主流的字符编码,对各种编码都是点到为止,以下LZ将详细阐述 ...

  8. pycharm 运行控制台中文乱码解决办法

    pycharm 运行控制台中文乱码解决办法

  9. vs code中文乱码解决方法

    修改 1.(安装方法) 2.显示终端输入数据输出结果(完美解决) 3.修改部分:中文乱码解决方法 第一步: 第二步: 1.(安装方法) 转载于: https:blog.csdn.net/qq_4304 ...

最新文章

  1. Qt Creator使用命令行选项
  2. 三、操作系统——生产者-消费者问题(两个同步一个互斥)
  3. webwork在freemarker中使用iterator
  4. 如何为Linux安装Go语言
  5. 如何实现TextBox与DropDownList的级联
  6. Flink技术到底是什么?Flink原理及深度解析
  7. 走进小作坊(十五)----疯狂的站长
  8. java affinity_线程亲和性(Thread Affinity)
  9. 大华SDK+JAVA+4g网络摄像头进行二次开发
  10. python的全局静态变量
  11. mysql数据库自动生成数据库开发设计文档
  12. 广州的房价是我遥不可及的梦,今天就用Python来做一个房价预测小工具
  13. mediaserver
  14. mybais-plus出现Invalid bound statement (not found)的解决方案
  15. 电子计算机是汉字的掘墓人,当人类社会进入到信息时代,曾有人_______,计算机是方块汉字的掘墓人。然 - 问答库...
  16. 北京首台区块链政务终端亮相 一键“拉取”链上数据
  17. ABP开发框架前后端开发系列---(7)系统审计日志和登录日志的管理
  18. NFT游戏开发元宇宙游戏开发游戏源码+搭建
  19. android8carlife连接不上,carlife为什么连接不上汽车 连接不上汽车解决方法
  20. 三星c9日历服务器未响应,本地化出色 三星盖乐世 C9 Pro 系统体验

热门文章

  1. redis mysql主从同步_Redis主从数据库同步
  2. 8本游戏开发书籍推荐
  3. python ast_python AST 抽象语法树
  4. C语言入门篇——输入输出篇
  5. 计算机声音如何处理器,电脑cpu声音很响怎么办 cpu温度过高的解决方案
  6. CSS设置div与屏幕高度一致
  7. 【Echarts数据可视化】一个项目带你学会酷炫的数据可视化
  8. 易语言api hook CreateFileA
  9. 谁来纾解中小型企业数字化转型之困?
  10. 转载]复眼,Adobe光场相机(