机器学习之决策树学习-id3算法-原理分析及c语言代码实现.pdf

还剩

23页未读,

继续阅读

下载文档到电脑,马上远离加班熬夜!

亲,很抱歉,此页已超出免费预览范围啦!

如果喜欢就下载吧,价低环保!

内容要点:

机器学习之决策树学习 -ID3 算法 原理分析与 C 语言 代码实现 作者: wxh5055 保留所有版权 本文 先 通过一个 被经常使用 的 实例 来简单说明决策树学习中 ID3 算法的基本原理 , 然后详细介绍 ID3算法 以及 用 C语言实现的方法 ,文章的最后给出 ID3算法的 完整 的 C语言 代码。 该实例的 训练 样本数据 如 表 1 所示 。 该训练样例 的目标属性是 Pl们先给出信息增益的计算公式,然后再进一步说明公式中每 个成员的 含义: Gain(S,A): 属性 A在训练样例 S中 的信息增益 , 在 表 1中 A的取值为 Outlook、 Temperature、Humidity 和 Wind。 Entropy(S): 训练样例的熵 , 稍后会进一步说明熵的计算方法。 v∈ Values(A): 属性 A 的所有可能取值 的集合 , 比如 表 1 中Entropy(SOvercase)= -(4/4)× log2(4/4)-(0/4)× log2(0/4)=0。 v 取值 Rain 时的正 样本数 等于 3,负 样本数 等于 2, 总样本数等于5, 所以 Entropy(SRain)= -(3/5)× log2(3/5)-(2/5)× log2(2/5)=0.971。 至此,我们已经介绍完了属性类型为 Outlook 时 信息 增益公式 Day Outlook Temperature Humidity Wind PlayTennis Dl Sunny Hot High Weak No D2 Sunny Hot High Strong No D8 Sunny Mild High Weak No D9 Sunny Cool Normal Weak Yes Dl1 Sunny Mild Normal Strong Yes 表 3: 信第四步: 根据根结点的属性的每个属性值,把训练样例的数据分解成 n 个独立的子表,如表 3、 4、 5 所示。 第五步: 把子表的属性类型为根 结点 属性类型的数据全部剔除,得到新的训练样例,如表 6 所示。 第六步:新的训练样例作为 ID3 算法的输入数据,递归调用 ID3 算法,把信息增益最高的属性作为根结点的 子结点 (当然,如果训练样例已经达到满足叶子结点的条件,就直接返回叶子结点,不该结构体的定义如下: //训练样例结构体 ,在 ID3 算法中用来表示训练样例集 typedef struct _examples { int sampleNum;//训练样例样本数 int attributeTypeNum;//训练样例包含的属性类型数目 (不包括目标属性 ) _attributeTypeName *pAttributeTypeName;//训练样例集的属性类型 int Hot High Weak No Hot High Strong No Mild High Weak No Cool Normal Weak Yes Mild Normal Strong Yes ); 最后递归调用 ID3(_example)算法搜索出 _example 的根结点存储到结点结构体的子结点中,最后返回。 再介绍一下计算信息增益的函数,该 函数 定义为: int FindMaxInID3 算法的完整代码如下 (注意,该代码只在本文引用的数据样例集中验证过,如果需要应用到其他地方,可能还需要进一步的验证! ): //决策树 ID3 算法代码实现 //Copyright:wxh5055 #include #include #include #incl

发表评论

暂无评论,赶快抢占沙发吧。

利用计算机语言实现ID3算法,机器学习之决策树学习-id3算法-原理分析及c语言代码实现.pdf...相关推荐

  1. 【机器学习基础】数学推导+纯Python实现机器学习算法5:决策树之CART算法

    目录 CART概述 回归树 分类树 剪枝 Python实现示例:分类树 在数学推导+纯Python实现机器学习算法4:决策树之ID3算法中笔者已经对决策树的基本原理进行了大概的论述.本节将在上一讲的基 ...

  2. 机器学习,深度学习基础算法原理详解(图的搜索、交叉验证、PAC框架、VC-维(持续更新))

    机器学习,深度学习基础算法原理详解(图的搜索.交叉验证.PAC框架.VC-维.支持向量机.核方法(持续更新)) 机器学习,深度学习基础算法原理详解(数据结构部分(持续更新)) 文章目录 1. 图的搜索 ...

  3. 【机器学习基础】数学推导+纯Python实现机器学习算法4:决策树之ID3算法

    Python机器学习算法实现 Author:louwill 作为机器学习中的一大类模型,树模型一直以来都颇受学界和业界的重视.目前无论是各大比赛各种大杀器的XGBoost.lightgbm还是像随机森 ...

  4. 机器学习:决策树及ID3,C4.5,CART算法描述

    文章目录 概念理解 熵: 条件熵: 信息增益,互信息: 信息增益比 基尼指数 ID3算法描述 C4.5算法描述 CART (Classification and Regression Tree)算法描 ...

  5. [机器学习-Sklearn]决策树学习与总结 (ID3, C4.5, C5.0, CART)

    决策树学习与总结 (ID3, C4.5, C5.0, CART) 1. 什么是决策树 2. 决策树介绍 3. ID3 算法 信息熵 信息增益 缺点 4. C4.5算法 5. C5.0算法 6. CAR ...

  6. 机器学习之决策树学习笔记

    决策树 1.决策树的概念 决策树是什么? 决策树(decision tree)是一种基本的分类与回归方法,通俗的讲也就是一颗用于决策的树. 决策树长什么样呢? 举个通俗易懂的例子,如下图所示的流程图就 ...

  7. 【机器学习】集成学习及算法详解

    集成学习及算法详解 前言 一.随机森林算法原理 二.随机森林的优势与特征重要性指标 1.随机森林的优势 2.特征重要性指标 三.提升算法概述 四.堆叠模型简述 五.硬投票和软投票 1.概念介绍 2.硬 ...

  8. 机器学习和深度学习_算法测评 | 机器学习VS深度学习

    OLDER BROTHER 大家好,我是你们的机房老哥! "机器学习进阶" 「前言」 " 机器学习和深度学习是很早前就埋下的坑,最近决定整合写一篇,利用机器学习的经典算法 ...

  9. 视觉机器学习之--决策树学习 方差意义 Cnm的意思

    1.决策树知识 3.2.决策树引导 通俗来说,决策树分类的思想类似于找对象.现想象一个女孩的母亲要给这个女孩介绍男朋友,于是有了下面的对话:  女儿:多大年纪了?      母亲:26.      女 ...

最新文章

  1. Web环境从Apache转Nginx后页面报404错误
  2. 【论文知识点笔记】GNN概述(图神经网络概述)
  3. linux自定义和使用 shell 环境(一)
  4. 【图像超分辨率】SR for RS via Local–Global Combined Network
  5. 您需要来自pc的权限才能_微信电脑版还是鸡肋吗?微信PC版3.0内测体验
  6. 怎样实现一个简单的jQuery编程
  7. 【python教程入门】Python的机器学习库有哪些?
  8. 原理图生成pdf 汉字不显示_EPLAN官方视频系列之二丨原理图设计智能功能(1)...
  9. WPF动态改变主题颜色
  10. 32位的PLSQL登录64位的ORA11g有关问题
  11. qq浏览器 广告拦截插件abp_【浏览器插件推荐】如何让QQ浏览器变得更加的高效...
  12. 非常好用的离线地图APP
  13. 转录组测序技术及结果解读(一)——测序样品设置及选择
  14. 有道云笔记迁移至语雀终极解决方案
  15. 量手知姓氏 :算命测姓氏 之 数学原理
  16. 实习日记 08/23 day33 理解JVM---Java核心卷中的并发
  17. Android模拟器中实现音、视频文件的断点播放
  18. 零代码与低代码快速开发平台的区别
  19. Flutter高仿微信-第26篇-新的朋友
  20. 免费制作在线网站教程

热门文章

  1. SQL - 通过某个字段名称找到数据库中对应的表
  2. 生成静态页面的五种方案 收藏
  3. jQuery中 index() 方法的使用
  4. [Vue.js] 基础 -- 综合案例 -- 图书管理
  5. [Node.js] 模块化 -- fs文件读取模块
  6. 夯实基础,彻底掌握js的核心技术(四):ES5、ES6对象方法详解
  7. 遍历二叉树的非递归算法
  8. 外链引入css有哪些方式_外链怎么发才会快速收录?
  9. Dart 2-Day
  10. oracle手动注册数据库,Oracle 11g手动创建数据库(Linux平台)