100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 一行代码解决graphviz画决策树图中文乱码问题(附带参数介绍)

一行代码解决graphviz画决策树图中文乱码问题(附带参数介绍)

时间:2019-09-09 07:44:59

相关推荐

一行代码解决graphviz画决策树图中文乱码问题(附带参数介绍)

若我们的直接写这样的代码

feature_name = ['酒精','苹果酸','灰','灰的碱性','镁','总酚','类黄酮','非黄烷类酚类', '花青素', '颜色强度','色调','od280/od315稀释葡萄酒','晡氨酸']dot_data = tree.export_graphviz(Classfier,feature_names=feature_name,class_names=["琴酒","雪莉","奥尔摩德"],filled=True,rounded=False)graph = graphviz.Source(dot_data).render(view=True)print(graph)

那决策树是这样的

很明显

中文会变成乱码

所以我们需要加上这么一个参数

fontname="Microsoft YaHei"

graphviz画图默认使用Helvetica字体 需要修改 否则会出现乱码

加上参数后的效果如下

完美解决问题!

附带

tree.export_graphviz的参数说明:

参数

decision_tree决策树回归器或分类器

要绘制的决策树。

max_depth整数,默认=无

表示的最大深度。如果没有,则完全生成树。

feature_names字符串列表,默认=无

每个函数的名称。如果没有,将使用通用名称(“X[0]”、“X[1]”、...)。

class_namesstr 或 bool 的列表,默认 = 无

每个目标类别的名称按数字升序排列。仅与分类相关,不支持multi-output。如果True,则显示类名的符号表示。

label{‘all’, ‘root’, ‘none’},默认='全部'

是否显示杂质标签等。选项包括‘all’ 显示在每个节点,‘root’ 仅显示在顶部根节点,或‘none’ 不显示在任何节点。

filled布尔,默认=假

当设置为True时,绘制节点以指示分类的多数类、回归值的极值或 multi-output 的节点纯度。

impurity布尔,默认=真

当设置为True时,显示每个节点的杂质。

node_ids布尔,默认=假

当设置为True时,在每个节点上显示 ID 号。

proportion布尔,默认=假

当设置为True时,将 ‘values’ 和/或 ‘samples’ 的显示分别更改为比例和百分比。

rounded布尔,默认=假

当设置为True时,绘制圆角节点框并使用 Helvetica 字体而不是 Times-Roman。

precision整数,默认=3

每个节点的杂质、阈值和值属性值中浮点精度的位数。

axmatplotlib 轴,默认=无

要绘制的轴。如果没有,使用当前轴。任何以前的内容都会被清除。

fontsize整数,默认=无

文本字体的大小。如果没有,自动确定以适合数字。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。