机器学习库的决策树绘制

使用graphviz绘制决策树更好一点,可以避免节点重叠,并且导出的pdf属于非图片型pdf。

绘制决策树大体分为3个步骤:

1.准备数据

2.创建并训练决策树模型

3.设置决策树参数绘制决策树

示例代码如下:

python 复制代码
from sklearn import tree
import graphviz

#1.准备数据
x=[[2, 0, 0, 2],
   [2, 1, 1, 0],
   [2, 1, 1, 2],
   [2, 1, 1, 1],
   [2, 0, 1, 0],
   [2, 0, 1, 1],
   [2, 0, 0, 1],
   [0, 1, 1, 0],
   [0, 1, 1, 1],
   [0, 1, 0, 0],
   [0, 1, 0, 1],
   [0, 0, 1, 2],
   [0, 0, 1, 1],
   [1, 1, 0, 0],
   [1, 1, 0, 2],
   [1, 0, 1, 0],
   [1, 0, 1, 2],
   [1, 0, 1, 1],
   [1, 0, 0, 0],
   [1, 0, 0, 1]]
y = [1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0]

#设置类别映射表
class_map = {
    0: '不满意',
    1: '满意'
}

#2.创建并训练决策树模型
model = tree.DecisionTreeClassifier()
model.fit(x, y)

#3.设置决策树参数绘制决策树
dot_data = tree.export_graphviz(
    model,
    feature_names=['维护类型','环境温度','环境湿度','通风效能'],
    class_names = list(map(lambda x:class_map[x],model.classes_)),
    filled = True,
    rounded = True,
    fontname='SimHei',
    special_characters=True,
    leaves_parallel=False

)
graph = graphviz.Source(dot_data)
graph.render("DecisionTree", format="png")
graph.view()
相关推荐
草莓熊Lotso5 小时前
C++ STL map 系列全方位解析:从基础使用到实战进阶
java·开发语言·c++·人工智能·经验分享·网络协议·everything
zyplayer-doc5 小时前
升级表格编辑器,AI客服应用支持转人工客服,AI问答风格与性能优化,zyplayer-doc 2.5.6 发布啦!
人工智能·编辑器·飞书·开源软件·创业创新·有道云笔记
~~李木子~~8 小时前
中文垃圾短信分类实验报告
人工智能·分类·数据挖掘
TsingtaoAI12 小时前
企业实训|自动驾驶中的图像处理与感知技术——某央企汽车集团
图像处理·人工智能·自动驾驶·集成学习
王哈哈^_^12 小时前
YOLO11实例分割训练任务——从构建数据集到训练的完整教程
人工智能·深度学习·算法·yolo·目标检测·机器学习·计算机视觉
檐下翻书17313 小时前
从入门到精通:流程图制作学习路径规划
论文阅读·人工智能·学习·算法·流程图·论文笔记
SalvoGao13 小时前
Python学习 | 怎么理解epoch?
数据结构·人工智能·python·深度学习·学习
搬砖者(视觉算法工程师)14 小时前
自动驾驶汽车技术的工程原理与应用
人工智能·计算机视觉·自动驾驶
CV实验室14 小时前
2025 | 哈工大&鹏城实验室等提出 Cascade HQP-DETR:仅用合成数据实现SOTA目标检测,突破虚实鸿沟!
人工智能·目标检测·计算机视觉·哈工大
aitoolhub14 小时前
培训ppt高效制作:稿定设计 + Prompt 工程 30 分钟出图指南
人工智能·prompt·aigc