决策树:理解机器学习中的关键算法

这篇具有很好参考价值的文章主要介绍了决策树:理解机器学习中的关键算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

决策树:理解机器学习中的关键算法

决策树是一种流行而强大的机器学习算法,它从数据中学习并模拟决策过程,以便对新的未知数据做出预测。由于其直观性和易理解性,决策树成为了分类和回归任务中的首选算法之一。在本文中,我们将深入探讨决策树的工作原理、如何构建决策树、它们的优缺点,以及在现实世界中的应用。

树模型

决策树:从根节点开始一步步走到叶子节点(决策)

所有的数据最终都会落到叶子节点,既可以做分类也可以做回归

树的组成

根节点:第一个选择点

非叶子节点与分支:中间过程

叶子节点:最终的决策过程

例子:一个家庭里面找出玩游戏的人(通过年龄和性别两个特征)

决策树:理解机器学习中的关键算法,机器学习,算法,决策树

如何切分特征(选择节点)

问题:根节点的特征该用哪个特征?如何切分?

假设:我们目标应该是根节点就像一个老大一样能够更好的切分数据(分类的效果更好),根节点下面的节点自然就是二当家。

目标:通过一种衡量指标,来计算通过不同特征进行分支选择后的分类情况,找出最好的那个当成根节点,以此类推。

衡量指标——

熵:表示随机变量不确定性的度量(说白了就是物体内部的混乱程度,(概率越大)熵的值越小,物体的混乱程度越低,(概率越小)熵值越大,物体的混乱程度越高)

公式:

其中:

  • 是数据集 的熵。
  • 是类别的数量。
  • 是选择第个类别的概率。

为了计算一个数据集的熵,你需要遵循以下步骤:

  1. 对于数据集 ,确定所有不同的类别。
  2. 计算属于每个类别的元素的比例,即每个类别的概率。
  3. 对每个类别,计算。
  4. 将第3步中计算的所有值相加,并取其相反数,得到熵。

例如,假设一个数据集有两个类别(正类和负类),每个类别的实例数分别是 9 和 5。首先,我们计算每个类别的概率:正类的概率,负类的概率。然后,应用熵公式计算:

决策树:理解机器学习中的关键算法,机器学习,算法,决策树

决策树:理解机器学习中的关键算法,机器学习,算法,决策树

这个值反映了数据集的不确定性程度。在构建决策树时,我们希望通过选择合适的特征来减少熵,也就是说,我们希望通过分割数据集来得到更低熵的子集,这样可以使得决策树在每个节点上做出更清晰的决策。

信息增益是决策树算法中用于选择数据集的最佳分割特征的一种度量。它是基于熵的一个概念,用来确定一个特征带来的熵减少(即信息增加)的数量。信息增益越高,意味着使用该特征进行分割所得到的子集的纯度提高得越多。

信息增益 (IG) 的公式是基于父节点和其子节点的熵的差值计算的:

[ IG(S, A) = H(S) - \sum_{t \in T} \frac{|S_t|}{|S|} H(S_t) ]

其中:

  • ( IG(S, A) ) 是数据集 ( S ) 关于特征 ( A ) 的信息增益。
  • ( H(S) ) 是数据集 ( S ) 的原始熵。
  • ( T ) 是根据特征 ( A ) 的所有可能值将数据集 ( S ) 分割成的子集的集合。
  • ( S_t ) 是由于特征 ( A ) 的值为 ( t ) 而形成的子集。
  • ( |S_t| ) 是子集 ( S_t ) 的大小。
  • ( |S| ) 是整个数据集 ( S ) 的大小。
  • ( H(S_t) ) 是子集 ( S_t ) 的熵。

信息增益

在构建决策树时,我们通常对每个特征计算信息增益,选择信息增益最大的特征作为节点的分割特征。通过这个过程,我们希望每次分割都能最大化信息的纯度提升,这样构建出来的树能更好地分类数据。

让我们通过一个简单的例子来说明信息增益的计算:

假设我们有一个数据集,它有两个类别,类别 A 和类别 B。数据集的总熵已经计算为 0.940。现在我们考虑一个特征,它可以将数据集分割成两个子集 和。我们计算这两个子集的熵 和,然后根据它们在父数据集中的比例加权求和,得出分割后的总熵。如果 是 0.0(因为中所有实例都属于同一个类别),是 0.918,而且是 5, 是 9,那么分割后的总熵是:

决策树:理解机器学习中的关键算法,机器学习,算法,决策树

决策树:理解机器学习中的关键算法,机器学习,算法,决策树

因此,特征 的信息增益是:

根据这个计算结果,我们知道使用特征进行分割能够减少熵,增加信息的纯度,具体增加的信息量为 0.351。通过比较不同特征的信息增益,我们可以选择最好的分割点来构建决策树的下一个节点。

决策树:理解机器学习中的关键算法,机器学习,算法,决策树

决策树构造实例:

决策树:理解机器学习中的关键算法,机器学习,算法,决策树

决策树:理解机器学习中的关键算法,机器学习,算法,决策树

决策树:理解机器学习中的关键算法,机器学习,算法,决策树

决策树:理解机器学习中的关键算法,机器学习,算法,决策树

决策树算法:

ID3:信息增益(问题如果新增ID列,用ID列做信息增益,会很大,但是没意义)

C4.5:信息增益率(解决ID3问题,考虑自身熵)

  • 是特征A的信息增益。
  • 是分割信息,度量的是使用特征 来分割数据集时的熵。

CART:使用GINI系数来当作衡量标准

  • 是数据集 的基尼系数。
  • 是数据集中不同类别的个数。
  • 是数据集中第个类别的相对频率(概率)。

决策树剪枝策略:

为什么要剪枝:决策树过拟合风险很大,理论上可以完全分的开数据(想象一下,如果树足够庞大,每个节点不就一个数据了吗)

剪枝策略:预剪枝、后剪枝

预剪枝:边建立决策树进行剪枝的操作(更实用)

后剪枝:当建立完决策树后来进行剪枝的操作

预剪枝方法:

限制深度、叶子节点个数叶子节点样本数,信息增益量等

后剪枝方法:

通过一定的hen文章来源地址https://www.toymoban.com/news/detail-800213.html

到了这里,关于决策树:理解机器学习中的关键算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 经典机器学习算法——决策树

    优质博文:IT-BLOG-CN 树模型是机器学习中最常用的一类模型,包括随机森林、AdaBoost、GBDT(XGBoost和Lightgbm)等,基本原理都是通过集成弱学习器的即式来进一步提升准确度。这里的弱学习器包括线性模型和决策树模型,本期介绍的就是决策树模型(DecisionTree)。 决策树属于有

    2024年04月29日
    浏览(38)
  • 机器学习算法 决策树

    决策树(Decision Tree)是一种非参数的有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策规则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。决策树算法容易理解,适用各种数据。 决策树算法的本质是一种图结构,我们只需要问一系列问题就

    2023年04月23日
    浏览(48)
  • 【机器学习】十大算法之一 “决策树”

    作者主页: 爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主 爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域. https://blog.csdn.net/Code_and516?type=blog 个人简介:打工人。 持续分享

    2024年02月11日
    浏览(43)
  • 机器学习算法系列(四)-- 决策树

    最经典的机器学习模型之一,成树型结构,决策树的目的是为了产生一颗泛化能力强,处理未见实例能力强的树,通过特征判断不断分类,基本流程遵循“分而治之”的递归分类策略。 关键 就是选取对训练数据具有分类能力的特征,可提高决策树学习的效率。通常特征选择

    2023年04月23日
    浏览(40)
  • Python 机器学习入门 - - 决策树算法学习笔记

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 ChatGPT一问世就给整个社会带来巨大的震撼和冲击,不禁让人惊叹现在AI的强大,我们好像离通用人工智能更近一步。在过去十几年人工智能领域的蓬勃发展中,扮演着主导地位的算法基本都是神经网络和

    2023年04月08日
    浏览(46)
  • 《机器学习核心技术》分类算法 - 决策树

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 小白零基础《Python入门到精通》 决策树是一种 「二叉树形式」 的预测模型,每个 「节点」 对应一个 「判断条件」 , 「满足」 上一个条件才

    2024年02月11日
    浏览(57)
  • 机器学习——决策树1(三种算法)

    要开始了…内心还是有些复杂的 因为涉及到熵…单纯的熵,可以单纯 复杂的熵,如何能通俗理解呢… 我也没有底气,且写且思考吧 首先,决策树的思想,有点儿像KNN里的KD树。 KNN里的KD树,是每次都根据某个特征,来将所有数据进行分类。 决策树也是,每次都根据某个特征

    2024年02月12日
    浏览(44)
  • 传统机器学习(五)决策树算法(一)

    ​ 可以参考:机器学习实战(二)决策树-分类树(海洋生物数据集案例) 分类树参数如下 回归树DecisionTreeRegressor的入参与分类树基本相同,不同之处在于: criterion可选值:mse:默认,均方差,mae:平均绝对差,friedman_mse 没有class_weight 用sklearn建好决策树后,可以打印出树的

    2023年04月22日
    浏览(46)
  • 【人工智能】机器学习中的决策树

    目录 特征选择 特征选择 树的生成 树的剪枝 特征如何选择 计算信息增益 样本集的基尼值 决策树生成 三种算法对比 决策树剪枝 预剪枝(pre-pruning) 后剪枝(post-pruning) 案例—红酒分类 案例—带噪正弦曲线拟合 本次实验是由python语言为基础学习网站分享给大家 点击右边链接进行

    2024年02月04日
    浏览(68)
  • 【机器学习入门】决策树算法(三):C5.0算法

    C5.0算法是昆兰在C4.5算法的基础上提出的 商用改进 版本,目的是对含有大量数据的数据集进行分析。 C5.0算法的训练过程大致如下。 假设训练的样本集S共有n个样本,训练决策树模型的次数为T,用Ct表示t次训练产生的决策树模型,经过T次训练后最终构建的复合决策树模型表

    2024年02月08日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包