Python决策树中文乱码解决
首先我也去找过网络上的很多文章,也提出了很多方法供我解决问题,但是最终试了很多都不行,比如去修改“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决策树中文乱码解决相关推荐
- python爬虫中文乱码解决方法
python爬虫中文乱码解决方法 参考文章: (1)python爬虫中文乱码解决方法 (2)https://www.cnblogs.com/surecheun/p/9694052.html 备忘一下.
- Graphviz画决策树中文乱码解决
目录 画图软件Graphviz的安装 Graphviz画图时中文乱码的解决 1. Graphviz的安装 Graphviz的下载 官网下载地址 下载graphviz-2.38.msi. 安装完需要将b ...
- python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)
python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) 参考文章: (1)python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) (2)https://www.cnblog ...
- python打包出现乱码_python解压zip包中文乱码解决方法
乱码得原因: 由于ZipFile模块导出遇到中文解码不对,windows上会出现,linux是否会出现不知道没测试过. 解决方式: 1. 搞个文件名引射表(不太方便,少量文件夹套用时候还可以) 2. ...
- python cmd窗口名字_python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)
python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) 前言 在 python 开发中,有时候想通过cmd窗口来和用户交互,比如显示信息之类的,会比自己创建 GUI 来的方便,但是随之而 ...
- jsoncpp中文乱码,中文显示为\u问题处理;jsoncpp中文乱码解决;源码方式使用jsoncpp;UTF_8和ASSIC相互转换;
一.jsoncpp中文写入为\u****问题处理:jsoncpp中文乱码解决: 当我们使用jsoncpp读取写入json文件时,会发现明明是中文字符串,但是赋值给Json::Value后却变成\u** ...
- java中文乱码解决之道(二)—–字符编码详解:基础知识 + ASCII + GB**
原文出处:http://cmsblogs.com/?p=1412 在上篇博文(java中文乱码解决之道(一)-–认识字符集)中,LZ简单介绍了主流的字符编码,对各种编码都是点到为止,以下LZ将详细阐述 ...
- pycharm 运行控制台中文乱码解决办法
pycharm 运行控制台中文乱码解决办法
- vs code中文乱码解决方法
修改 1.(安装方法) 2.显示终端输入数据输出结果(完美解决) 3.修改部分:中文乱码解决方法 第一步: 第二步: 1.(安装方法) 转载于: https:blog.csdn.net/qq_4304 ...
最新文章
- Qt Creator使用命令行选项
- 三、操作系统——生产者-消费者问题(两个同步一个互斥)
- webwork在freemarker中使用iterator
- 如何为Linux安装Go语言
- 如何实现TextBox与DropDownList的级联
- Flink技术到底是什么?Flink原理及深度解析
- 走进小作坊(十五)----疯狂的站长
- java affinity_线程亲和性(Thread Affinity)
- 大华SDK+JAVA+4g网络摄像头进行二次开发
- python的全局静态变量
- mysql数据库自动生成数据库开发设计文档
- 广州的房价是我遥不可及的梦,今天就用Python来做一个房价预测小工具
- mediaserver
- mybais-plus出现Invalid bound statement (not found)的解决方案
- 电子计算机是汉字的掘墓人,当人类社会进入到信息时代,曾有人_______,计算机是方块汉字的掘墓人。然 - 问答库...
- 北京首台区块链政务终端亮相 一键“拉取”链上数据
- ABP开发框架前后端开发系列---(7)系统审计日志和登录日志的管理
- NFT游戏开发元宇宙游戏开发游戏源码+搭建
- android8carlife连接不上,carlife为什么连接不上汽车 连接不上汽车解决方法
- 三星c9日历服务器未响应,本地化出色 三星盖乐世 C9 Pro 系统体验