【机器学习笔记】8 决策树

决策树原理

决策树是从训练数据中学习得出一个树状结构的模型。
决策树属于判别模型。
决策树是一种树状结构,通过做出一系列决策(选择)来对数据进行划分,这类似于针对一系列问题进行选择。决策树的决策过程就是从根节点开始,测试待分类项中对应的特征属性,并按照其值选择输出分支,直到叶子节点,将叶子节点的存放的类别作为决策结果。
以下小美相亲的例子就是决策树
在这里插入图片描述
在这里插入图片描述
决策树算法是一种归纳分类算法,它通过对训练集的学习,挖掘
出有用的规则,用于对新数据进行预测。
决策树算法属于监督学习方法。 决策树归纳的基本算法是贪心算法,自顶向下来构建决策树。
贪心算法:在每一步选择中都采取在当前状态下最好/优的选择。
在决策树的生成过程中,分割方法即属性选择的度量是关键。

  • 决策树的优点:
    推理过程容易理解,计算简单,可解释性强。
    比较适合处理有缺失属性的样本。
    可自动忽略目标变量没有贡献的属性变量,也为判断属性变量的重要性,
    减少变量的数目提供参考。
  • 决策树的缺点:
    容易造成过拟合,需要采用剪枝操作。
    忽略了数据之间的相关性。
    对于各类别样本数量不一致的数据,信息增益会偏向于那些更多数值的特征。
  • 决策树的三种基本类型
    建立决策树的关键,即在当前状态下选择哪个属性作为分类依据。根据不同的目标函数 , 建立决策树主要有以下三种算法: ID3(IterativeDichotomiser)、C4.5、CART(Classification And Regression Tree)。
    在这里插入图片描述

ID3算法

ID3 算法最早是由罗斯昆(J. Ross Quinlan)于1975年提出的一种决策树构建算法,算法的核心是“信息熵”,期望信息越小,信息熵越大,样本纯度越低。。
ID3 算法是以信息论为基础,以信息增益为衡量标准,从而实现对数据的归纳分类。
ID3 算法计算每个属性的信息增益,并选取具有最高增益的属性作为给定的测试属性。

ID3算法的大致步骤

  1. 初始化特征集合和数据集合;
  2. 计算数据集合信息熵和所有特征的条件熵,选择信息增益最大的特征作为当前决策节点;
  3. 更新数据集合和特征集合(删除上一步使用的特征,并按照特征值来划分不同分支的数据集合);
  4. 重复 2,3 两步,若子集值包含单一特征,则为分支叶子节点
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • ID3算法的缺点
    ID3 没有剪枝策略,容易过拟合;
    信息增益准则对可取值数目较多的特征有所偏好,类似“编号”的特征其信息增益接近于 1;
    只能用于处理离散分布的特征;
    没有考虑缺失值

C4.5算法

  • C4.5 算法是 Ross 对 ID3 算法的改进。
    信息增益率来选择属性。ID3选择属性用的是子树的信息增益,而C4.5用的是信息增益率
    在决策树构造过程中进行剪枝
    非离散数据也能处理。
    能够对不完整数据进行处理。
    在这里插入图片描述

过拟合的原因:
为了尽可能正确分类训练样本,节点的划分过程会不断重复直到不能再分,这样就可能对训练样本学习的“太好”了,把训练样本的一些特点当做所有数据都具有的一般性质,从而导致过拟合。
剪枝的基本策略有“预剪枝”(prepruning)和“后剪枝”(post-pruning)通过剪枝处理去掉一些分支来降低过拟合的风险。

预剪枝(prepruning)

预剪枝不仅可以降低过拟合的风险而且还可以减少训练时间,但另一方面它是基于“贪心”策略,会带来欠拟合风险。
在这里插入图片描述

  • 剪枝策略
    在节点划分前来确定是否继续增长,及早停止增长
    主要方法有:
    • 节点内数据样本低于某一阈值;
    • 所有节点特征都已分裂;
    • 节点划分前准确率比划分后准确率高。
    在这里插入图片描述
    在这里插入图片描述

后剪枝

在已经生成的决策树上进行剪枝,从而得到简化版的剪枝决策树。后剪枝决策树通常比预剪枝决策树保留了更多的分支。一般情况下,后剪枝的欠拟合风险更小,泛化性能往往优于预剪枝决策树

  • 剪枝方法
    在已经生成的决策树上进行剪枝,从而得到简化版的剪枝决策树。
    C4.5 采用的悲观剪枝方法,用递归的方式从低往上针对每一个非叶子节点,评估用一个最佳叶子节点去代替这课子树是否有益。如果剪枝后与剪枝前相比其错误率是保持或者下降,则这棵子树就可以被替换掉。C4.5 通过训练数据集上的错误分类数量来估算未知样本上的错误率。
    后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树。
    在这里插入图片描述
    在这里插入图片描述
  • 缺点
    • 剪枝策略可以再优化;
    • C4.5 用的是多叉树,用二叉树效率更高;
    • C4.5 只能用于分类;
    • C4.5 使用的熵模型拥有大量耗时的对数运算,连续值还有排序运算;
    • C4.5 在构造树的过程中,对数值属性值需要按照其大小进行排序,从中选择一个分割点,所以只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时,程序无法运行。

CART算法

Classification and Regression Tree (CART) 是决策树的一种。
基尼指数来选择属性(分类),或用均方差来选择属性(回归)。
顾名思义,CART算法既可以用于创建分类树,也可以用于创建回归树,两者在构建的过程中稍有差异。
如果目标变量是离散的,称为分类树
如果目标变量是连续的,称为回归树

CART算法——分类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例子
在这里插入图片描述

CART算法——回归

均方差来选择属性
对于连续值的处理,CART 分类树采用基尼系数的大小来度量特征的各个划分点。
对于任意划分特征 𝐴,对应的任意划分点𝑠 两边划分成的数据集 𝐷1和𝐷2 ,求出使𝐷1和𝐷2各自集合的均方差最小,同时 𝐷1和𝐷2的均方差之和最小所对应的特征和特征值划分点。表达式为:
在这里插入图片描述
其中,𝑐1为𝐷1数据集的样本输出均值,𝑐2为𝐷2 数据集的样本输出均值。

  • 预测方式
    对于决策树建立后做预测的方式,上面讲到了 CART 分类树采用叶子节点里概率最大的类别作为当前节点的预测类别。
    而回归树输出不是类别,它采用的是用最终叶子的均值或者中位数来预测输出结果

CART算法采用一种“基于代价复杂度的剪枝”方法进行后剪枝,这种方法会生成一系列树,每个树都是通过将前面的树的某个或某些子树替换成一个叶节点而得到的,这一系列树中的最后一棵树仅含一个用来预测类别的叶节点。然后用一种成本复杂度的度量准则来判断哪棵子树应该被一个预测类别值的叶节点所代替。
这种方法需要使用一个单独的测试数据集来评估所有的树,根据它们在测试数据集熵的分类性能选出最佳的树。

  • CART剪枝具体流程:
    (1)计算每一个结点的条件熵
    (2)递归的从叶子节点开始往上遍历,减掉叶子节点,然后判断损失函数的值是否减少,如果减少,则将父节点作为新的叶子节点
    (3)重复(2),直到完全不能剪枝.
    在这里插入图片描述

决策树的差异

  • 划分标准的差异
    ID3 使用信息增益偏向特征值多的特征,C4.5 使用信息增益率克服信息增益的缺点,偏向于特征值小的特征,CART 使用基尼指数克服, C4.5 需要求 log 的巨大计算量,偏向于特征值较多的特征。
  • 使用场景的差异
    ID3 和 C4.5 都只能用于分类问题,CART 可以用于分类和回归问题;ID3 和 C4.5 是多叉树,速度较慢,CART 是二叉树,计算速度很快;
  • 样本数据的差异
    ID3 只能处理离散数据且缺失值敏感,C4.5 和 CART 可以处理连续性数据且有多种方式处理缺失值;从样本量考虑的话,小样本建议 C4.5、大样本建议 CART。C4.5 处理过程中需对数据集进行多次扫描排序,处理成本耗时较高,而 CART 本身是一种大样本的统计方法,小样本处理下泛化误差较大 ;
  • 样本特征的差异
    ID3 和 C4.5 层级之间只使用一次特征,CART 可多次重复使用特征;
  • 剪枝策略的差异
    ID3 没有剪枝策略,C4.5 是通过悲观剪枝策略来修正树的准确性,而 CART 是通过代价复杂度剪枝
  • 21
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 《机器学习学习笔记.pdf》是一本关于机器学习的学习笔记的电子书,其内容涵盖了机器学习的基本概念、算法原理和实践应用等方面。 该电子书的主要内容包括但不限于以下几个方面: 1. 机器学习基础:介绍了机器学习的基本概念、发展历史和核心原理,帮助读者建立起对机器学习的整体认识和理解。 2. 机器学习算法:详细介绍了常见的机器学习算法,包括监督学习算法(如线性回归、逻辑回归、决策树、支持向量机等)、无监督学习算法(如聚类算法、降维算法等)和强化学习算法等,使读者能够了解和掌握不同类型的机器学习算法及其应用场景。 3. 机器学习实践:讲解了机器学习的实践方法和流程,涵盖了数据预处理、特征工程、模型选择和评估等方面的内容,帮助读者掌握如何在实际问题中应用机器学习技术。 4. 应用案例:通过实际案例的介绍和分析,展示了机器学习在自然语言处理、计算机视觉、推荐系统等领域的应用,激发读者对机器学习在实际问题中的应用的兴趣和思考能力。 通过阅读《机器学习学习笔记.pdf》,读者可以系统地学习机器学习的基础知识和算法原理,了解机器学习的应用场景和实践方法,并通过实际案例的分析加深对机器学习技术的理解。这本电子书可以作为机器学习初学者的入门学习资料,也适合有一定机器学习基础的读者作为参考和进一步学习的资料。希望通过这本电子书的阅读,读者能够理解和掌握机器学习的相关知识,为未来在机器学习领域的学习和研究打下坚实的基础。 ### 回答2: 《机器学习学习笔记.pdf》是一本介绍机器学习的学习资料。机器学习一种通过利用数据来训练计算机算法的方法,使其能够自动地从数据中学习和提高性能。这本学习笔记涵盖了机器学习的基本概念、原理和方法,适合初学者和对机器学习感兴趣的读者。 首先,学习笔记机器学习的基本概念入手,包括机器学习的定义、应用领域以及机器学习的三个主要任务:监督学习、无监督学习和强化学习。然后,详细介绍了机器学习的基本原理,如训练集、测试集、特征选择和模型评估等。此外,学习笔记还介绍了几种常见的机器学习算法,如决策树、支持向量机和深度学习等。 除了理论知识,学习笔记还提供了实践案例和代码示例,帮助读者更好地理解和应用机器学习算法。读者可以通过实践案例来掌握机器学习算法的具体应用,并且可以利用代码示例进行实际编程实践。同时,学习笔记还讨论了机器学习的一些挑战和未来的发展方向,如数据质量、模型解释性和自动化机器学习等。 总的来说,《机器学习学习笔记.pdf》是一本全面介绍机器学习的学习资料。它结合理论和实践,旨在帮助读者建立对机器学习的基本理解,并具备在实际问题中应用机器学习算法的能力。无论是初学者还是有一定机器学习基础的读者,都可以从中获得有益的知识和经验。 ### 回答3: 《机器学习学习笔记.pdf》是一本关于机器学习的学习笔记文档。机器学习是人工智能领域的重要分支,它研究如何使计算机系统自动从数据中学习和改进,以完成特定任务。这本学习笔记以简洁明了的方式介绍了机器学习的基本概念、算法和实践应用。 笔记中首先介绍了机器学习的基础知识,包括监督学习、无监督学习和强化学习等不同的学习类型。然后详细讲解了常用的机器学习算法,如线性回归、逻辑回归、决策树、支持向量机等。每种算法都给出了清晰的定义和示例,并详细解释了算法的原理和应用场景。 此外,《机器学习学习笔记.pdf》还包括了机器学习的实践应用和案例分析。它介绍了如何通过Python等编程语言和机器学习进行实际的机器学习项目开发,包括数据预处理、特征工程、模型训练和评估等环节。对于初学者来说,这部分内容非常有价值,可以帮助他们快速进入实际应用的阶段。 总结来说,《机器学习学习笔记.pdf》是一本很好的机器学习入门教材,它详细介绍了机器学习的基本概念和常用算法,并提供了实际项目的实践指导。无论是对于想要了解机器学习基础知识的初学者,还是对于已经有一定机器学习经验的开发者来说,这本学习笔记都是一本值得阅读和参考的资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值