决策树ID3算法实现与讨论(完整代码与数据)

本文详细介绍了ID3决策树算法,包括算法核心思想、信息增益度量、结点数据拆分和子树停止条件。通过实例展示了算法的Python实现,讨论了ID3算法的优势和不足,如其简单易懂、对噪声数据有鲁棒性,但容易过拟合。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

 

文章目录

  • 一、算法相关介绍
    • 1.简介
    • 2.决策树直观表示
    • 3.ID3算法核心思想(含流程图)
  • 二、实例算法实现演示
    • 1.问题描述
    • 2.代码结构及其描述
    • 3.完整代码
  • 三、ID3算法讨论与分析
    • 1.优势
    • 2.缺点

 

一、算法相关介绍

     1.简介

    决策树学习是应用最广的归纳推理算法之一。它是一种逼近离散函数的方法,且对噪声数据有很好的鲁棒性,能够学习析取表达式。相关算法包多为以ID3思想为内核。

决策树学习方法搜索完整表示的假设空间,从而避免了受限假设空间的不足。决策树学习的归纳偏置是优先选择较小的树。

     2.决策树直观表示

决策树通过把实例从根结点排列到某个叶子结点来分类实例,叶子结点即为实例所属的分类。树上的每一个结点指定了对实例的某个属性的测试,并且该结点的每一个后继分支对应于该属性的一个可能值。分类实例的方法是从这棵树的根结点开始,测试这个结点指定的属性,然后按照给定实例的该属性值对应的树枝向下移动。这个过程再在以新结点为根的子树上重复。

其本质是多个if-then有序规则的树状罗列,下图为教材中一棵典型的学习到的决策树:

   3.ID3算法核心思想

基本的 ID3 算法通过自顶向下构造决策树来进行学习。构造过程是从“哪一个属性将在树的根结点被测试?”这个问题开始的。然后为根结点属性的每个可能值产生一个分支,并把训练样例排列到适当的分支(也就是,样例的该属性值对应的分支)之下。然后重复整个过程,用每个分支结点关联的训练样例来选取在该点被测试的最佳属性。同时此贪婪搜索从不回溯重新考虑先前的选择。

故ID3算法主要围绕3个问题的解决来进行:

    • 如何选择最优属性
    • 结点数据如何拆分
    • 子树何时停止增长

3.1属性选择依据

在为树节点选择测试属性时,需要选择最有助于分类实例的属性(也即特征)。ID3定义了一个统计属性“信息增益”,用来衡量给定属性区分当前训练样例集的能力,在其增长树的每一步使用该信息增益标准从侯选属性集中选择属性。

3.1.1用熵度量样例的均一性的依据

3.1.2信息增益度量期望的熵降低

</

  • 7
    点赞
  • 135
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值