机器学习与模式识别4:决策树

一、决策树简介

决策树(Decision Tree),又称判定树,是一个流程图形式的树结构,其中每个中间结点代表某个属性或某组属性上的测试,每个分支则对应了该测试的不同结果,每个叶结点代表某个类别或预测结果。从训练数据中产生决策树的算法,通常被称为决策树学习算法或决策树算法。

决策树是利用树形图进行决策的预测模型,表现出的是对象属性与对象值之间的一种映射关系,是归纳学习和数据挖掘的重要方法。决策树分为分类树和回归树两种:分类树对离散变量做决策树,回归树对连续变量做决策树。

根据一种分类规则,不断的由根节点向下分裂的过程,其中每一个内部节点表示一个属性上的判断,每一个分支代表一个判断结果的输出,最后的叶子节点代表一种分类结果。某一个分支的纯度越高越好,越能给出预测类别。

二、决策树算法与优势

决策树算法主要围绕两大核心问题展开:第一,决策树的生长问题,即利用训练样本集,完成决策树的建立过程。第二,决策树的剪枝问题,即利用检验样本集,对形成的决策树进行优化处理。

决策树的算法很多,如ID3、C4.5、CART等。这些算法均采用自顶向下的贪婪算法,每个节点选择分类效果最好的属性将节点分裂为2个或多个子结点,继续这一过程直到这棵树能准确地分类训练集,或所有属性都已被使用过。

三、决策树的修剪

决策树生成算法是通过递归的方法产生决策树,直到不能继续下去为止,这样产生的树往往对训练数据的分类很准确,但对未知数据的分类却没那么准确,即出现过拟合的现象。过拟合的原因在于学习时过度考虑如何提高训练数据的正确分类,从而构建出过于复杂的决策树。解决这个问题的方法是考虑决策树的复杂度,对已生成的决策树进行简化,我们把这种对已生成的树进行简化的过程称为剪枝。 剪枝是从已生成的树上裁掉一些子树或叶节点,并将其根结点或父节点作为新的叶节点,从而简化分类树模型。

1.预剪枝:指在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点;

2.后剪枝:先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。

四、决策树的优缺点

优点:结构简单,便于理解;效率高,较为适合训练集数据量较大的情况,拟合能力强;通常不需要接受训练集数据外的知识;具有较高的分类精确度等等。决策树算法广泛应用于各个领域,如文本分类、语音识别、模式识别和专家系统等。

缺点:如果样本发生一点点改动,整个树的结构都会发生剧烈变化。

相关推荐
蓝婷儿43 分钟前
Python 机器学习核心入门与实战进阶 Day 1 - 分类 vs 回归
python·机器学习·分类
程序员阿超的博客3 小时前
Python 数据分析与机器学习入门 (八):用 Scikit-Learn 跑通第一个机器学习模型
python·机器学习·数据分析·scikit-learn·入门教程·python教程
xingshanchang4 小时前
PyTorch 不支持旧GPU的异常状态与解决方案:CUDNN_STATUS_NOT_SUPPORTED_ARCH_MISMATCH
人工智能·pytorch·python
reddingtons5 小时前
Adobe Firefly AI驱动设计:实用技巧与创新思维路径
大数据·人工智能·adobe·illustrator·photoshop·premiere·indesign
CertiK5 小时前
IBW 2025: CertiK首席商务官出席,探讨AI与Web3融合带来的安全挑战
人工智能·安全·web3
Deepoch6 小时前
Deepoc 大模型在无人机行业应用效果的方法
人工智能·科技·ai·语言模型·无人机
Deepoch6 小时前
Deepoc 大模型:无人机行业的智能变革引擎
人工智能·科技·算法·ai·动态规划·无人机
kngines6 小时前
【字节跳动】数据挖掘面试题0003:有一个文件,每一行是一个数字,如何用 MapReduce 进行排序和求每个用户每个页面停留时间
人工智能·数据挖掘·mapreduce·面试题
Binary_ey6 小时前
AR衍射光波导设计遇瓶颈,OAS 光学软件来破局
人工智能·软件需求·光学软件·光波导
昵称是6硬币6 小时前
YOLOv11: AN OVERVIEW OF THE KEY ARCHITECTURAL ENHANCEMENTS目标检测论文精读(逐段解析)
图像处理·人工智能·深度学习·yolo·目标检测·计算机视觉