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

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

3 . 决策树模型 :


建立模型 : 将上述数据集的 属性 ( 特征 ) 转换为树状的模型 ;


确定树根 : 首先要确定哪个属性作为树根 , 这个选择是有一定要求的 , 不能随意指定一个任意的特征作为树根 ;



4 . 决策树 属性划分 :


属性划分策略 : 根据一定的策略 , 确定哪个属性作为树根 , 然后每个子树 , 在确定剩余的哪个属性作为子树的树根 , 这是递归问题 ;


属性划分的算法性质 : 递归算法 ;


如何决定树根属性 : 确定总树的树根 , 及每个子树的树根 , 要求根据数据的 属性 ( 特征 ) 进行的决策次数尽量能做到最少 ;


image.png




V . 决策树算法性能要求


1 . 决策树的高度 :



① 决策树最大高度 : 决策属性的个数 ; ( 每个属性都要决策一次 , 才能预测出结果 )


② 决策时最小高度 : 1 ; ( 只需要决策一次 , 就可以预测出结果 )



2 . 决策树性能 : 决策树越矮越好 , 即预测某特征 , 进行的决策次数越少越好 ;



3 . 树根属性 : 越重要的属性 , 其越能将数据最大可能拆分开 , 将重要的属性放在树根 ;




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


1 . 决策树模型创建 : 决策树模型创建的核心就是选择合适的树根 , 将重要的属性放在树根 , 然后子树中 , 继续选择子树中重要的属性放在子树的树根 , 依次递归 , 最终得到决策结果 ( 叶子节点 ) ;



2 . 决策树创建算法 ( 递归 ) : 使用递归算法 , 递归算法分为递归操作 和 递归停止条件 ;



3 . 递归操作 : 每个步骤先选择属性 , 选择好属性后 , 根据 总树 ( 子树 ) 的树根属性划分训练集 ;



① 选择属性 : 递归由上到下决定每一个节点的属性 , 依次递归构造决策树 ;


② 数据集划分 : 开始决策时 , 所有的数据都在树根 , 由树根属性来划分数据集 ;


③ 属性离散化 : 如果属性的值是连续值 , 需要将连续属性值离散化 ; 如 : 100 分满分 , 将 60 分以下分为不及格数据 , 60 分以上分为及格数据 ;



4 . 递归停止的条件 :



① 子树分类完成 : 节点上的子数据集都属于同一个类别 , 该节点就不再向下划分 , 称为叶子节点 ;


② 属性 ( 节点 ) 全部分配完毕 : 所有的属性都已经分配完毕 , 决策树的高度等于属性个数 ;


③ 所有样本分类完毕 : 所有的样本数据集都分类完成 ;




VII . 决策树 树根属性 选择


1 . 属性选择方法 : 树根属性选择的方法很多 , 这里介绍一种常用的方法 , 信息增益 ;



2 . 信息增益 : 信息增益 效果越大 , 其作为树根属性 , 划分的数据集分类效果越明显 ;



3 . 信息 和 熵 : 涉及 信息论 的知识点 , 建议有空就去 B站 刷一下信息论课程 ;



① 信息 与 熵 的关系 : 信息 会 消除 熵 , 熵 代表了不确定性 , 信息用来消除不确定性 ;


② 信息增益 : 信息增益大的属性 , 能最大消除熵的不确定性 ;



4 . 决策树中的信息增益 : 属性的 信息增益 越大 , 就越能将分类效果达到最大 ;


如 : 想要从用户数据集中找到是否能买奢侈品的用户 , 先把高收入群体划分出来 , 将低收入者从数据集中去除 , 这个收入水平的属性 ( 特征 ) , 信息增益就很大 ;


目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
266 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
3月前
|
机器学习/深度学习 算法 数据挖掘
提高时钟置换算法的性能
【10月更文挑战第25天】通过上述一种或多种方法的综合应用,可以在不同程度上提高时钟置换算法的性能,使其更好地适应各种复杂的系统环境和应用场景,提高虚拟内存管理的效率和系统的整体性能。
136 62
|
3月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
99 1
|
3月前
|
算法
分享一些提高二叉树遍历算法效率的代码示例
这只是简单的示例代码,实际应用中可能还需要根据具体需求进行更多的优化和处理。你可以根据自己的需求对代码进行修改和扩展。
|
3月前
|
算法 Python
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果;贪心算法在每一步选择局部最优解,追求全局最优;动态规划通过保存子问题的解,避免重复计算,确保全局最优。这三种算法各具特色,适用于不同类型的问题,合理选择能显著提升编程效率。
81 2
|
3月前
|
机器学习/深度学习 算法 5G
基于MIMO系统的SDR-AltMin混合预编码算法matlab性能仿真
基于MIMO系统的SDR-AltMin混合预编码算法通过结合半定松弛和交替最小化技术,优化大规模MIMO系统的预编码矩阵,提高信号质量。Matlab 2022a仿真结果显示,该算法能有效提升系统性能并降低计算复杂度。核心程序包括预编码和接收矩阵的设计,以及不同信噪比下的性能评估。
92 3
|
4月前
|
机器学习/深度学习 算法 决策智能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
|
4月前
|
搜索推荐 Shell
解析排序算法:十大排序方法的工作原理与性能比较
解析排序算法:十大排序方法的工作原理与性能比较
129 9
|
4月前
|
算法 搜索推荐 Shell
数据结构与算法学习十二:希尔排序、快速排序(递归、好理解)、归并排序(递归、难理解)
这篇文章介绍了希尔排序、快速排序和归并排序三种排序算法的基本概念、实现思路、代码实现及其测试结果。
81 1
|
4月前
|
缓存 分布式计算 监控
算法优化:提升程序性能的艺术
【10月更文挑战第20天】算法优化:提升程序性能的艺术