解决问题,在pycharm中使用graphviz绘制决策树时,决策树图片中不显示中文(中文字体乱码!!) 图文并茂版!!!
解决问题
- 问题信息
- 问题代码
- 问题分析
- 解决问题
- 注意
问题信息
•我们在pycharm中使用graphviz绘制决策树时,可能会出现下述图片中中文字体乱码的问题:
•参考网上修改各种配置文件的方法,一般是不能解决问题的!,此博客介绍一种不修改配置文件的方法解决此问题!!
问题代码
import graphviz
from sklearn import tree
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_splitwine = load_wine()Xtrain, Xtest, Ytrain, Ytest = train_test_split(wine.data, wine.target, test_size=0.3)clf = tree.DecisionTreeClassifier(criterion='entropy',random_state=30,splitter='random')
# random_state随机模式可输入任意数字,
cl = clf.fit(Xtrain, Ytrain)
score = clf.score(Xtest, Ytest)
print(score)feature_name = ['酒精', '苹果酸', '灰', '灰的碱性', '镁', '总酚', '类黄酮', '非黄烷类酚类', '花青素', '颜色强度', '色调', 'od280/od315稀释葡萄酒','脯氨酸'] # 特征值
dot_data = tree.export_graphviz(clf,feature_names=feature_name,class_names=['琴酒', '雪梨', '贝尔摩德'],filled=True, # 是否填充颜色,true 填充颜色rounded=True, # 框的形状
)
graph = graphviz.Source(dot_data) # 此行代码出现问题!!!
graph.render('wine_tree')
•当你使用上述代码绘制决策树时,就会出现图片中中文字体乱码的情况!!
问题分析
•出现问题的代码行!!!
graph = graphviz.Source(dot_data)
•在不修改dot_data字体配置时,绘制图像的字体为:fontname = helvetica
,此字体为西文字体,不支持中文字体,当我们直接使用而不修改字体配置时,就会出现图片中中文字体乱码的情况!!!
解决问题
•出现上述问题时,只需增加中文字体的配置即可解决中文乱码问题!!
graph = graphviz.Source(dot_data.replace('helvetica', '"Microsoft YaHei"'), encoding='utf-8')
•将上述问题代码行修改为此代码行即可解决!!!
注意
•’“Microsoft YaHei”’
这里是单引号里面套着双引号,不能出现书写错误!!!
•完整正确代码:
import graphviz
from sklearn import tree
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_splitwine = load_wine()Xtrain, Xtest, Ytrain, Ytest = train_test_split(wine.data, wine.target, test_size=0.3)clf = tree.DecisionTreeClassifier(criterion='entropy',random_state=30,splitter='random')
# random_state随机模式可输入任意数字,
cl = clf.fit(Xtrain, Ytrain)
score = clf.score(Xtest, Ytest)
print(score)feature_name = ['酒精', '苹果酸', '灰', '灰的碱性', '镁', '总酚', '类黄酮', '非黄烷类酚类', '花青素', '颜色强度', '色调', 'od280/od315稀释葡萄酒','脯氨酸'] # 特征值
dot_data = tree.export_graphviz(clf,feature_names=feature_name,class_names=['琴酒', '雪梨', '贝尔摩德'],filled=True, # 是否填充颜色,true 填充颜色rounded=True, # 框的形状
)
graph = graphviz.Source(dot_data.replace('helvetica', '"Microsoft YaHei"'), encoding='utf-8')
graph.render('wine_tree')
•解决问题后图片显示:
解决问题,在pycharm中使用graphviz绘制决策树时,决策树图片中不显示中文(中文字体乱码!!) 图文并茂版!!!相关推荐
- 解决问题:pycharm中SSH报错failed:<br/>Authentication failure
Pycharm使用SSH远程连接服务器报错如下: 解决方法 先在工具-部署中配置一下服务器信息,再在设置的解释器中就能直接找到了,不会再出现连接失败的问题,步骤如下:
- 在pycharm中使用Echarts绘制单个省份的地图(以内蒙古自治区为例)
今天来复盘一下,如何使用Echarts绘制单个省份的地图,昨天在网上搜了很多教程,代码大差不差,但是运行的时候总出不来,经过自己的琢磨,里面也有很多需要注意的点,今天就以自身的问题来针对几个问题说一下 ...
- 在pycharm中直接安装第三方包时出错提示无合适版本---解决方案
错误提示举例 2.找到manage repositories,并添加国内源 进入setting->Project ->Python interpreterh 后点击 + 号图标,如图 然后 ...
- Pycharm 中选择conda创建的虚拟环境,但是不显示包显示的解决方法
选择自己的虚拟环境后,点击下图所示:
- 解决Pycharm中下载不了sklearn问题
下载过程 当你使用Pycharm下载sklearn时,会出现下载失败的问题,本人一开始以为是镜像源的问题:更换了清华的镜像源进行下载,还是出现下载失败的问题.如果你通过下划红色下载也是会出现失败的问题 ...
- pycharm 中 pydev debugger: CRITICAL WARNING: This version of python seems to be incorrectly compiled
这里写自定义目录标题 一.在pycharm中,用python3.11时,在Debug调试时出现 pydev debugger: CRITICAL WARNING: 报错 二.调试中出现中文乱码 一.在 ...
- Python中pip,pip3,虚拟环境(venv)三者的关系,如何在pycharm中使用虚拟环境,以及安装依赖包所遇到的问题。
目录 一.是什么是pip,pip3,与虚拟环境(venv) 二.三者之间的联系 三.在pycharm中设置虚拟环境 四.安装python依赖包的快捷方式 五.注意事项 六.感谢观看!!!点个赞或者关注 ...
- Python数据可视化之绘制带有最佳拟合线的散点图(图文并茂版!!!)
绘制带有最佳拟合线的散点图 最佳拟合线 数据准备 数据展示 图例选择 根据图例筛选数据 绘制图像 最佳拟合线 •当我们想要研究数据集中两个变量之间如何相互改变,使用最佳拟合线就是一个不错的方法!! ...
- intellij html 插件,解决intellij idea中使用live edit插件不能在chrome即时显示css变化的方法(html可以)...
问题源于一次chrome内核的更新 详细请看 就是说chrome在14年一月的时候更新了一次内核,removes getAllStylesheets method from protocol这是原话, ...
最新文章
- css 网格布局_我从CSS网格布局中学到的东西
- 从R-CNN到YOLO,2020 图像目标检测算法综述
- SDRAM芯片初始化、行有效、列读写时序(高手进阶,终极内存技术指南——完整/进阶版) ——本文为转载...
- Ansible roles角色实战案例:httpd nginx memcached mysql
- 一个泛型冒泡排序的实现
- jQuery如何选择表格每行中的第三列?
- java多条件组合查询6_elasticsearch组合多条件查询实现restful api以及java代码实现
- mybatis是什么_深入解析:Mybatis接口没有实现类为什么可以执行增删改查?
- ueditor1_4_3-utf8-jsp 配置实现上传图片的功能
- Win2003打不开https的问题
- CountDownLatch和Semaphore使用场景
- iOS中Lua脚本应用笔记一:脚本概念相关
- ActiveMQ(一)——JMS、应用场景、关键对象、demo
- qt linux编程思路,关于QT编程入门的那些事
- VBA实现Excel模块筛选高级应用场景!
- jsp:使用request为页面添加静态数据。
- 筑基九层 —— 指针详解
- 陈艾盐:《春燕》百集访谈节目第三十九集
- Nim 博弈游戏详解
- nodejs+libreoffice 将word转成pdf