机器学习库的决策树绘制

使用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()
相关推荐
向量引擎19 小时前
[硬核架构] 2026 企业级 AI 网关落地指南:从“连接超时”到“秒级响应”的架构演进(附 Python/Java 源码)
人工智能·python·gpt·ai作画·架构·aigc·api调用
Aloudata19 小时前
数据语义层 vs 宽表模式:哪种架构更适合 AI 时代的数据分析?
人工智能·架构·数据挖掘·数据分析·数据治理
OLOLOadsd12319 小时前
基于改进YOLOv13的长曲棍球角色识别与装备检测系统
人工智能·yolo·目标跟踪
高频交易dragon19 小时前
An Impulse Control Approach to Market Making in a Hawkes LOB Market从论文到生产
人工智能·算法·机器学习
AI营销快线19 小时前
原圈科技AI CRM系统打破数据孤岛,实现业绩增长的可视化闘环
大数据·人工智能
mahtengdbb119 小时前
【人工智能】基于YOLOv10n-ReCalibrationFPN-P345的道路坑洞与井盖检测
人工智能·yolo
数字化转型202520 小时前
SAP 实施项目乙方因甲方逾期付款单方面中途离场的风险处理方案
运维·人工智能·机器学习
檐下翻书17320 小时前
医疗、金融、教育等行业的智能助手
人工智能·金融
Rabbit_QL20 小时前
【LLM背景】语言模型简史:从概率统计到通用智能接口
人工智能·语言模型·自然语言处理
分享牛20 小时前
LangChain4j从入门到精通-3-聊天与语言模型
人工智能·语言模型·自然语言处理