大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

06-01 1545阅读

点一下关注吧!!!非常感谢!!持续更新!!!

大模型篇章已经开始!

  • 目前已经更新到了第 22 篇:大语言模型 22 - MCP 自动操作 Figma+Cursor 自动设计原型

    Java篇开始了!

    • MyBatis 更新完毕
    • 目前开始更新 Spring,一起深入浅出!

      目前已经更新到了:

      • Hadoop(已更完)
      • HDFS(已更完)
      • MapReduce(已更完)
      • Hive(已更完)
      • Flume(已更完)
      • Sqoop(已更完)
      • Zookeeper(已更完)
      • HBase(已更完)
      • Redis (已更完)
      • Kafka(已更完)
      • Spark(已更完)
      • Flink(已更完)
      • ClickHouse(已更完)
      • Kudu(已更完)
      • Druid(已更完)
      • Kylin(已更完)
      • Elasticsearch(已更完)
      • DataX(已更完)
      • Tez(已更完)
      • 数据挖掘(已更完)
      • Prometheus(已更完)
      • Grafana(已更完)
      • 离线数仓(已更完)
      • 实时数仓(正在更新…)
      • Spark MLib (正在更新…)

        大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

        决策树简介

        基本介绍

        决策树是一种非线性有监督分类模型,程序设计中的条件分支结构就是 if-else 结构

        决策树的特点:

        ● 是一种树形结构,本质上一颗由多个判断节点组成的树

        ● 其中每个内部节点表示一个属性上的判断

        ● 每个分支代表一个判断结果的输出

        ● 最后每个叶节点比代表一种分类结果

        下面是一个简单的例子:

        大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

        核心思想

        通过一系列“如果 … 那么 …”的分裂规则,把复杂的决策过程拆解成若干简单判断,最终落到叶节点给出预测或决策。

        适用任务

        分类(Classification)与 回归(Regression)皆可;也常用于特征工程(如自动分箱)与可解释性分析。

        代表算法

        ID3、C4.5、CART(最常用),以及衍生的集成方法:随机森林(Random Forest)、梯度提升树(GBDT / XGBoost / LightGBM / CatBoost)。

        结构与术语

                    root
                  ┌─┴───────┐
             internal     internal
              node1         node2
            ┌──┴──┐          │
          leaf  leaf       leaf
        
        • 根节点 (root):包含完整样本集
        • 内部节点 (internal/decision node):依据某特征和阈值把样本划分成更“纯净”的子集
        • 叶节点 (leaf / terminal node):输出类别标签或数值预测结果
        • 路径 (path):从根到叶的一条决策链,相当于一个规则组合

          分类原则

          大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

          要按照前四列的信息,使用决策树预测车祸的发生,如何选择根节点呢?

          按照天气

          按照“天气”列作为根节点,使用决策树预测,如图:

          大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

          按照温度

          按照“温度”列作为根节点,使用决策树预测,如图:

          大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

          大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

          按照湿度

          大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

          按照风

          大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

          简单总结

          只有使用天气作为根节点时,决策树的高度相对低而且树的两边能将数据分类的更彻底(其他列作为根节点时,树两边分类不纯粹,都有天气)

          分类原则总结:

          决策树构建过程就是数据不断分裂的递归过程,每一次分裂,尽可能让类别一样的数据在树的一边,当树的叶子节点的数据都是一类的时候,则停止分类。这样分类的数据,每个节点两边的数据不同,将相同的数据分类到树的一侧,能将数据分类的更加纯粹,减少树的高度和训练决策树的迭代次数。

          分类原理

          熵的介绍

          物理学上,熵 Entropy 是 “混乱”程度的量度,系统越有序,熵值越低,系统越混乱或者分散,熵值越高。1948年香农提出了信息熵的概念。

          大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

          如何衡量纯粹和混乱(信息量的大小)指标,可以使用信息熵或者基尼系数。

          大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

          熵的定义如下:

          大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

          ● 某个类别下信息量越多,熵越大

          ● 信息量越少,熵越小

          ● 假设“有工作”这列下只有“否”这个信息类别,那么“有工作”这列的信息熵为:H=-(1xlog1)=0

          上图中,如果按照“有工作”、“年龄”、“信贷情况”、“有房子”列使用决策树来预测“类别”。如何选择决策树的根节点分类条件,就是找到某列作为分类条件时,使“类别”这列分类更彻底,也就是找到在某个列作为分类条件下时,“类别”信息熵相对于没有这个分类条件时信息熵降低最大(降低最大,就是熵越低,分类越彻底),这个条件就是分类节点的分类条件,这里要使用条件熵和信息增益。

          条件熵

          定义:在某个分类条件下某个类别的信息熵叫做条件熵,在知道Y的情况下,X的不确定性。

          大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

          大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

          信息增益

          定义:代表熵的变化程度,分类前的信息熵减去分类后的信息熵

          大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

          在构建决策树时,选择信息增益大的属性作为分类节点的方法也叫ID3分类算法。

          基尼系数

          基尼系数也可以表示样本的混乱程度,公式如下:

          大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

          其中,K代表当前列表有K个类别。

          基尼系数越小代表信息越纯,类别越少,基尼系数越大,代表信息越混乱,类别越多。基尼增益的计算和信息增益相同,假设某列只有一类值,这列基尼系数为0。

          信息增益率

          大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

          在上图中,如果将“记录ID”也作为分类条件的话,由于“记录ID”对于“是否贷款”列的条件熵为0,可以得到“是否贷款”在“记录ID”这个分类条件下信息增益最大。如果选择“记录ID”作为分类条件,可以将样本完全分开,分类后的信息熵为0,分类结果完全正确,信息增益最大,这种方式我们得到了一颗庞大的树,这种分类方式是不合理的。

          使用信息增益来筛选分类条件,更倾向于更混杂的属性,容易出现你过拟合的问题,可以使用信息增益率来解决这个问题。

          大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

          例如在“记录ID”条件下,“是否贷款”的信息增益最大,信息熵H(记录ID)也比较大,两者相除就是在“记录ID”条件下的增益率,结果比较小,笑出了当某些属性比较混杂时,使用信息增益来选择分类条件的弊端。

          使用信息增益率来构建决策树的算法也叫C4.5算法,一般对于信息增益来说,选择信息增益率选择分类条件比较合适。

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码