机器学习库的决策树绘制

使用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()
相关推荐
sali-tec4 分钟前
C# 基于OpenCv的视觉工作流-章98-频域滤波
图像处理·人工智能·opencv·计算机视觉
眼泪划过的星空9 分钟前
基于 LangChain 框架构建本地化 RAG 系统:无需调用云端 API 的完整实践
人工智能·langchain
布鲁飞丝11 分钟前
彩笔运维勇闯机器学习--cpu与qps的线性关系
运维·人工智能·机器学习
ZHOU_WUYI13 分钟前
5. light wam 中video pre阶段
人工智能
2501_9269783316 分钟前
提示工程的实战报告(二):模型的失败模式与边界行为
人工智能·深度学习·算法
行走的小派22 分钟前
Zero 4不是Zero 3W的升级版,是香橙派的策略补位
人工智能·香橙派·边缘ai
IanSkunk23 分钟前
企业AI办公落地技术拆解:从WorkBuddy任务引擎到JOTO实施路径
大数据·人工智能
Mycdn_WD40 分钟前
项目交付后的机房,能参与边缘节点协作吗?
人工智能·cdn·pcdn·城域网·pcdn资源招募
LayZhangStrive1 小时前
线性代数 - 第1章 行列式
人工智能·线性代数·机器学习
Michaelliu_dev1 小时前
多模态大模型推理流程解析
人工智能·llm·多模态大模型·vit·llava·rope·mllm