决策树之ID3,说一个例子,就会明白,拿

Tom M .mitchen 的《Machine Learing》第三章中的例子。

我们先解释一下这张表,表中有14条实例数据,就是我们的训练数据,其中Outlook,Temperature,Humidity

,Wind称作条件属性,PlayTennis 称作是决策属性(标签)。

每一个属性都有各自的值记做:Value(Outlook)={Sunny,OverCast,Rain},Value(Temperature)={Hot,Mild,Cool},Value(Humidity)={High,Normal},Value(Wind)={Strong,Weak},Value(PlayTennis)={NO,Yes}。

第一个重要的概念:Entropy。

我们数一下 决策属性PlayTennis,一共有两个类别:Yes,No。Yes的实例数是

9,No的实例数是 5。计算决策属性的Entropy(熵):

,

计算结果为:0.940286

这里的决策属性S的值只有两个值(Yes,No),当然可以有多个值(s1,s2,s3,...,sk),这些决策属性的值的概率分别为:p1,p2,p3,...,pk所以决策属性的Entroy的计算公式:

第二个重要的概念:information

gain(信息增益)

我们只拿Outlook条件属性举例,其他的属性一样:

Value(Outlook)={Sunny,OverCast,Rain}:

Outlook是sunny的实例数为5(其中Yes的个数为2,No的个数为3),占总的实例数为5/14,那么针对sunny的Entropy,

计算结果为:0.97095

Outlook是OverCast的实例数为4(其中Yes的个数为4,No的个数为0),占总的实例数为4/14,那么针对Overcast的Entropy,

决策树C4.5算法 c语言实现,决策树之ID3、C4.5、C5.0相关推荐

  1. c4.5算法 程序语言,决策树之C4.5算法详解-Go语言中文社区

    决策树之C4.5算法详解 主要内容 C4.5算法简介 分裂属性的选择--信息增益率 连续型属性的离散化处理 剪枝--PEP(Pessimistic Error Pruning)剪枝法 缺失属性值的处理 ...

  2. 决策树C4.5算法 c语言实现,数据挖掘十大经典算法(1) C4.5_决策树算法

    数据挖掘十大经典算法(1) C4.5_决策树算法 机器学习中,决策树是一个预测模型:他代表的是对象属性与对象值之间的一种映射关系.树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每 ...

  3. 【机器学习】通过ID3,C4.5,CART算法构建决策树

    决策树 (一).决策树的简介 (二).构造决策树的三种构造方法 1.基于信息增益生成决策树(ID3算法) 2.基于信息增益率生成决策树(C4.5算法) 3.基于基尼指数生成决策树(CART算法) 总结 ...

  4. 决策树-基于不同算法的决策树模型对比

    决策树是一个树结构(可以是二叉树或非二叉树),其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个输出类别.使用决策树进行决策的过程就是从根节点开始 ...

  5. 决策树算法——ID3算法,C4.5算法

    目录(?)[-] 决策树算法 1摘要 2决策树引导 3决策树的构造 31ID3算法 32C45算法 4关于决策树的几点补充说明 41如果属性用完了怎么办 42关于剪枝 决策树算法 1.摘要 在前面两篇 ...

  6. id3算法c语言实现,从ID3到C5.0的故事:算法详解及实践应用

    原标题:从ID3到C5.0的故事:算法详解及实践应用 在前面,我们分别概述性地介绍了决策树的基本知识: 1.算法概述 ID3(Iterative Dichotomiser3)算法可以说决策树算法中最著 ...

  7. 决策树算法(C4.5算法)

    决策树算法(C4.5算法) 1.1 题目的主要研究内容 组的主要任务描述 熟悉和掌握决策树的分类原理.实质和过程,掌握决策树典型算法(ID3.C4.5.CART)的核心思想和实现过程. (2)自己工作 ...

  8. R语言 CART算法和C4.5算法(决策树)

    关注微信公共号:小程在线 关注CSDN博客:程志伟的博客 R版本:3.4.4 最新的R官网取消了mvpart包,有需要的可以留言或者加微信,我用R3.6.1版本的显示这个包不能使用. 还需要安装jav ...

  9. R语言决策树(ID3、CART、C4.5、C5.0)算法使用举例

    1.环境及数据准备 #环境变量 rm(list = ls());#清空变量空间#载入所需R Rackages library(rattle) library(rpart) library(rpart. ...

  10. R语言基于Bagging算法(融合多个决策树)构建集成学习Bagging分类模型、并评估模型在测试集和训练集上的分类效果(accuray、F1、偏差Deviance):Bagging算法与随机森林对比

    R语言基于Bagging算法(融合多个决策树)构建集成学习Bagging分类模型.并评估模型在测试集和训练集上的分类效果(accuray.F1.偏差Deviance):Bagging算法与随机森林对比 ...

最新文章

  1. websocket连接mqtt实现发布及订阅主题
  2. linux服务器无网络确认,Linux服务器故障排查实用指南
  3. 从Java中的length和length()开始
  4. 2008matlab error 95,VS2008和MATLAB2010b混合编程有关问题 error LINK2028 恳请指教!(2)
  5. MinIO存储桶通知指南 ​​​​​​​
  6. Python文学家为Python写的一首词?(附中英文版)
  7. WLAN 安全协议 - WAPI
  8. 无U盘安装系统(到固态硬盘)教程
  9. matlab好看的字体,最佳50个新鲜+漂亮的字体(2011)
  10. 我的世界基岩版好还是java版好_我的世界:Java版本好玩还是基岩版好玩?老玩家看完后沉默了...
  11. mysql relay_log删除_mysql 删除 relay log 方法
  12. 洛谷 P5713 【深基3.例5】洛谷团队系统 C语言
  13. 阿里云物联网IOT平台使用案例教程(模拟智能设备)
  14. JSON 是什么?JSON 介绍
  15. Java实现手写数字的识别(BP神经网络的运用)
  16. 腾讯:互联网金融行业HBase实践与创新
  17. 【python-sklearn】中文文本处理LDA主题模型分析
  18. ASM Disk Discovery 最佳实践
  19. SEO之怎么能写出高质量原创文章和伪原创文章
  20. openwrt上opkg更新报错opkg_download: Failed to download .............

热门文章

  1. 计算机网络管理(第三版)雷震甲 课后习题及测试试题与答案
  2. 一、window配置微软商店中的Ubuntu,及错误解决方法
  3. 开放原子训练营(第二季)RT-Thread Nano学习营线下学习心得
  4. node连接mysql
  5. 冠状病毒传播仿真器的原理和实现(Python版)
  6. 服务器数据丢失的紧急处理办法
  7. Android 桌面小图标消息通知
  8. Unity-Text调节字间距(一)
  9. 数据结构之线性表(九)——线性表的应用
  10. unity 3D 贪吃蛇