机器学习库的决策树绘制

使用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()
相关推荐
leo在掘金1 小时前
从DeepSeek 510亿融资到GitHub 33K Star开源项目:这周的技术生态发生了什么?
人工智能
小姜前线技术2 小时前
AI流式渲染打字机效果抖动?节流方案踩坑实录
人工智能
用户018349301692 小时前
AI对话状态管理:useReducer还是XState
人工智能
先锋部队2 小时前
给AI对话加「停止生成」按钮:abort SSE实战
人工智能
新新技术迷2 小时前
移动端H5接AI对话的坑:键盘顶起与滚动到底
人工智能
aqi005 小时前
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
人工智能·python·大模型·ai编程·ai应用
用户5191495848456 小时前
libcurl Headers API 释放后重利用漏洞:跨请求复用头句柄导致堆内存安全风险
人工智能·aigc
踩蚂蚁6 小时前
自定义语音唤醒词:从训练到部署的完整链路实践
人工智能
用户5191495848456 小时前
CVE-2025-1094 PostgreSQL SQL注入与WebSocket劫持远程代码执行利用工具
人工智能·aigc