【数据挖掘】决策树算法简介 ( 决策树模型 | 模型示例 | 决策树算法性能要求 | 递归创建决策树 | 树根属性选择 )(一)

简介: 【数据挖掘】决策树算法简介 ( 决策树模型 | 模型示例 | 决策树算法性能要求 | 递归创建决策树 | 树根属性选择 )(一)

文章目录

I . 决策树模型

II . 决策树模型 示例

III . 决策树算法列举

IV . 决策树算法 示例

V . 决策树算法性能要求

VI . 决策树模型创建 ( 递归创建决策树 )

VII . 决策树 树根属性 选择



I . 决策树模型


1 . 决策树 : 决策时基于 “树” 结构 , 这也是模拟人在进行决策时采用的策略 ;



2 . 决策树组成 : 根节点 , 内部节点 , 叶子节点 , 这些节点都是数据的 属性 ( 特征 ) ;



① 根节点 : 最初始判定的属性 , 判定区域是全局的数据集 ;


② 内部节点 : 中间的判定属性 , 判定区域是符合某些特征的子数据集 ;


② 叶子节点 : 决策结果 , 位于决策树的最底层 , 每个叶子节点都是一个决策结果 ;



3 . 决策树模型过程 :



① 训练过程 : 使用训练集数据确定决策时使用的属性 , 确定根节点 , 内部节点 , 叶子节点 的属性划分 , 训练决策树模型 ;


② 预测过程 : 从根节点特征开始 , 根据决策树中的判定序列依次从根节点向下判定 , 直到一个叶子节点 ;




II . 决策树模型 示例


1 . 需求场景 :



① 需求 : 电商网站为用户进行分类 , 目的是确定该用户是否有可能购买某件商品 , 然后为其推送指定商品的广告 ;


② 决策树使用 : 如何对用户进行分类 , 这里就用到了决策树模型 , 将用户分成不同的类别 ;



2 . 数据集 : 决策过程中 , 根据每个节点所处理的数据集的特征 , 将其划分到不同的子节点中进行处理 ; 如数据集中是 100 个用户的信息 ;



3 . 决策树构成 :



① 根节点决策 : 根节点 处理年龄特征 , 小于 30 岁的用户划分到一组 , 大于 30 岁的用户划分到另一组 ;


② 内部节点决策 : 然后在 小于 30 岁的用户中继续判定 , 学生划分成一组 , 非学生划分成一组 ;


③ 叶子节点决策结果 : 学生会买电脑 , 非学生不会买电脑 ;


image.png




III . 决策树算法列举


1 . 常用的决策树算法 :



① CLS 算法 : 这是第一个决策树算法 , 1966 年提出 ;


② ID3 算法 : 该算法使决策树称为机器学习主流技术 , 1979 年提出 ;


③ C4.5 算法 : 最常用的决策树算法 ; 1993 年提出 ;


④ 区别 : 上述三个算法五个组件基本一致 , 唯一的区别是确定属性划分时的策略不同 , 即将哪个属性放在树根 , 将哪个属性放在内部节点上 , 内部节点的属性所在层级如何设置 ;



2 . 属性划分策略 :



① ID3 算法属性划分策略 : ID3 使用信息增益策略 ;


② C4.5 算法属性划分策略 : C4.5 使用的是增益率策略 ;



3 . CART 算法 : 既可以用于分类任务 ( 结果是离散值 ) , 也可以用于回归任务 ( 结果是连续值 ) ;



4 . FR 算法 : 随机森林算法 ; 使用了数据挖掘 , 机器学习中的集成思想 ; 有很多差的分类器 , 准确率都很低 , 但是多个分类器集成起来 , 准确率就很高 ;




IV . 决策树算法 示例


1 . 需求场景 :



① 需求 : 电商网站为用户进行分类 , 目的是确定该用户是否有可能购买某件商品 , 然后为其推送指定商品的广告 ;


② 决策树使用 : 如何对用户进行分类 , 这里就用到了决策树模型 , 将用户分成不同的类别 , 买的一类 , 和不买的一类 ;



2 . 模拟数据集 : 给出一组数据集 , 后面的所有计算都是基于该数据集进行的 ;


需求 : 根据 年龄 , 收入水平 , 是否是学生 , 信用等级 , 预测该用户是否会购买商品 ;



年龄 收入水平 是否是学生 信用等级 是否购买商品

小于 30 岁 高收入 不是 一般 不会

小于 30 岁 高收入 不是 很好 不会

31 ~ 39 岁 高收入 不是 一般 会

40 岁以上 中等收入 不是 一般 会

40 岁以上 低收入 是 一般 会

40 岁以上 低收入 是 很好 不会

31 ~ 40 岁 低收入 不是 很好 会

小于 30 岁 中等收入 不是 一般 不会

小于 30 岁 低收入 是 一般 会

40 岁以上 中等收入 是 一般 会

小于 30 岁 中等收入 是 很好 会

31 ~ 39 岁 中等收入 不是 很好 会

31 ~ 39 岁 高收入 是 一般 会

40 岁以上 中等收入 不是 很好 不会


目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
194 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
1月前
|
存储 算法 测试技术
【C++数据结构——树】二叉树的遍历算法(头歌教学实验平台习题) 【合集】
本任务旨在实现二叉树的遍历,包括先序、中序、后序和层次遍历。首先介绍了二叉树的基本概念与结构定义,并通过C++代码示例展示了如何定义二叉树节点及构建二叉树。接着详细讲解了四种遍历方法的递归实现逻辑,以及层次遍历中队列的应用。最后提供了测试用例和预期输出,确保代码正确性。通过这些内容,帮助读者理解并掌握二叉树遍历的核心思想与实现技巧。
47 2
|
3月前
|
机器学习/深度学习 算法 数据挖掘
提高时钟置换算法的性能
【10月更文挑战第25天】通过上述一种或多种方法的综合应用,可以在不同程度上提高时钟置换算法的性能,使其更好地适应各种复杂的系统环境和应用场景,提高虚拟内存管理的效率和系统的整体性能。
135 62
|
3月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
93 1
|
3月前
|
算法
树的遍历算法有哪些?
不同的遍历算法适用于不同的应用场景。深度优先搜索常用于搜索、路径查找等问题;广度优先搜索则在图的最短路径、层次相关的问题中较为常用;而二叉搜索树的遍历在数据排序、查找等方面有重要应用。
56 2
|
3月前
|
机器学习/深度学习 算法 5G
基于MIMO系统的SDR-AltMin混合预编码算法matlab性能仿真
基于MIMO系统的SDR-AltMin混合预编码算法通过结合半定松弛和交替最小化技术,优化大规模MIMO系统的预编码矩阵,提高信号质量。Matlab 2022a仿真结果显示,该算法能有效提升系统性能并降低计算复杂度。核心程序包括预编码和接收矩阵的设计,以及不同信噪比下的性能评估。
84 3
|
4月前
|
存储 算法 关系型数据库
数据结构与算法学习二一:多路查找树、二叉树与B树、2-3树、B+树、B*树。(本章为了解基本知识即可,不做代码学习)
这篇文章主要介绍了多路查找树的基本概念,包括二叉树的局限性、多叉树的优化、B树及其变体(如2-3树、B+树、B*树)的特点和应用,旨在帮助读者理解这些数据结构在文件系统和数据库系统中的重要性和效率。
42 0
数据结构与算法学习二一:多路查找树、二叉树与B树、2-3树、B+树、B*树。(本章为了解基本知识即可,不做代码学习)
|
4月前
|
缓存 分布式计算 监控
算法优化:提升程序性能的艺术
【10月更文挑战第20天】算法优化:提升程序性能的艺术
|
4月前
|
存储 算法
数据结构与算法学习十六:树的知识、二叉树、二叉树的遍历(前序、中序、后序、层次)、二叉树的查找(前序、中序、后序、层次)、二叉树的删除
这篇文章主要介绍了树和二叉树的基础知识,包括树的存储方式、二叉树的定义、遍历方法(前序、中序、后序、层次遍历),以及二叉树的查找和删除操作。
44 0