首页 > 编程语言 >机器学习之——决策树信息熵计算[附加计算程序]

机器学习之——决策树信息熵计算[附加计算程序]

时间:2024-08-28 12:14:42浏览次数:8  
标签:14 sunny mild high 信息熵 计算 yes 决策树

0 前言

  • 本文主要讲述了决策树背后的信息熵的公式含义及计算方式,并列举出多道例题帮助理解。

1 信息熵的定义

1.1 信息熵公式

image
笔者使用下图(1-1)直观理解信息熵的含义。
image
信息熵越大,表示该随机变量的不确定性越高。对于均匀分布,信息熵达到最大值。

1.2 证明:对于均匀分布,信息熵最大

笔者用一个简单的例子加以证明,假如随机变量X只取0和1,即随机变量X服从0 1分布,X的概率密度函数为:

X 概率p(0≤p≤1)
1 p
0 1-p

根据信息熵的公式,随机变量X的信息熵为:
image
结合下图(1-2),可以看出结论正确。
image

1.3 信息熵公式分析

信息熵的计算公式为什么是这样?log函数如下图(1-3)所示,根据概率论,假设某事情p的发生概率>0且<1,即0<p<1,有-∞<log2(p)<0。当出现极端情况,例如p=0或1(p=0或1表示信息很确定,而信息熵是衡量变量不确定性),则根据信息熵公式值为0,log2()函数所得出来的值是负的,需要再添加负号使信息熵变为正值。
image

2 信息熵的计算

2.1 数据集

假设有以下数据(后文使用该数据集),用于决策是否出去玩。

  • 属性id表示每个样本的编号。
  • 属性outlook表示户外天气。sunny晴天,overcast阴天,rainy雨天。
  • 属性temperature表示温度,hot热,mild温暖,cool冷。
  • 属性humidity表示湿度。high高,normal正常。
  • 属性windy表示是否有风。not没有,yes有。
  • 属性play表示是否出去玩。yes出去玩,no不出去玩。

数据集如下图(2-1)所示。
image

点击查看游玩数据集(CSV格式)
id,outlook,temperature,humidity,windy,play
1,sunny,hot,high,not,no
2,sunny,hot,high,yes,no
3,overcast,hot,high,not,yes
4,rainy,mild,high,not,yes
5,rainy,cool,normal,not,yes
6,rainy,cool,normal,yes,no
7,overcast,cool,normal,yes,yes
8,sunny,mild,high,not,no
9,sunny,cool,normal,not,yes
10,rainy,mild,normal,not,yes
11,sunny,mild,normal,yes,yes
12,overcast,mild,high,yes,yes
13,overcast,hot,normal,not,yes
14,rainy,mild,high,yes,no

2.2 计算变量Play的信息熵

该数据集总样本14个,play变量的取值只能是no或yes。

类别 个数 概率
play='no' 5 5/14
play='yes' 9 9/14

变量play的信息熵计算如下所示。
image

2.3 计算变量Outlook的信息熵

该数据集总样本14个,outlook变量的取值只能是overcast或rainy或sunny。

类别 个数 概率
outlook='overcast' 4 4/14
outlook='rainy' 5 5/14
outlook='sunny' 5 5/14

变量outlook的信息熵计算如下所示。
image

2.3 计算变量Temperature的信息熵

该数据集总样本14个,temperature变量的取值只能是cool或hot或mild。

类别 个数 概率
temperature='cool' 4 4/14
temperature='hot' 4 4/14
temperature='mild' 6 6/14

变量temperature的信息熵计算如下所示。
image

3 信息熵计算程序

稍后补充链接

4 结语

如有错误请指正,禁止商用。

标签:14,sunny,mild,high,信息熵,计算,yes,决策树
From: https://www.cnblogs.com/hello-nullptr/p/18384133

相关文章

  • AD下发计算机启动脚本失效
    在adserver下发了一个计算机策略的启动脚本,但通过后台发现脚本运行成功率很低在客户端检测时发现一个问题,如果使用左下角关机,然后再开机,脚本运行不成功;但如果使用重启命令,脚本就能成功测试如下:点击关机,然后按电源开机,检查启用及运行时间,不是实际启动时间显示使用重启命令,启......
  • 【计算机组成原理】五、中央处理器:2.数据通路、控制器(单总线结构、专用数据通路、硬布
    3.数据通路文章目录3.数据通路3.1单总线结构3.2专用数据通路4.控制器4.1硬布线控制器4.1.1基本结构4.1.2设计步骤==微操作总结==1)分析每个阶段的微操作序列2)安排微操作时序的原则3)电路设计4.1.3特点4.2微程序控制器==微指令包含关系==4.2.1基本结构4.2.2微指令格式4.......
  • 【计算机组成原理】五、中央处理器:1.CPU的功能与结构&指令执行过程(运算器、数据通路、
    五、中央处理器文章目录五、中央处理器1.CPU的功能与结构1.1CPU功能1.2运算器1.2.1基本结构1.2.2ALU和寄存器的数据通路1.3控制器1.3.1基本结构1.3.2控制器功能1.4CPU的基本结构2.指令执行过程2.1指令周期2.2指令周期流程2.3数据流2.4指令执行方案:如何安排多条指令......
  • 【计算机组成原理】汇总四、指令系统
    四、指令系统文章目录四、指令系统1.指令格式2.分类2.1根据地址码数目不同2.1.1零地址指令2.1.2一地址指令2.1.3二地址指令2.1.4三地址指令2.1.5四地址指令2.2根据指令长度2.3根据操作码的长度不同2.3.1==拓展操作码==2.4根据操作类型3.指令寻址3.1顺序寻址3.2跳跃寻......
  • java计算机毕业设计校园跑腿服务平台(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在快速发展的数字时代,校园生活日益多元化与快节奏,学生们对于便捷高效的生活服务需求日益增长。传统的校园服务模式已难以满足学生群体对于时间管理......
  • java计算机毕业设计疫情防控信息管理系统(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景:在全球化日益加深的今天,突发公共卫生事件如疫情的爆发,对各国社会经济及民众生活构成了前所未有的挑战。疫情防控成为各国政府及社会各界关注的焦点。......
  • Java计算机毕业设计社区智能诊疗服务系统(开题+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和人口老龄化趋势的加剧,医疗资源分布不均、就医难、看病贵等问题日益凸显。传统诊疗模式面临巨大挑战,患者往往需要长时间排队......
  • java计算机毕业设计智能汽车租赁系统的设计与实现(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着科技的飞速发展和城市化进程的加速,智能出行已成为现代社会的重要趋势。传统汽车租赁行业面临着效率低下、管理复杂、用户体验不佳等挑战。随着物......
  • 计算ply模型的法线及显示
    importopen3daso3dimportnumpyasnp#加载点云数据pcd=o3d.io.read_point_cloud("test.ply")#设置法线估计的搜索参数search_param=o3d.geometry.KDTreeSearchParamHybrid(radius=0.1,max_nn=30)#计算点云的法线pcd.estimate_normals(search_param=search_......
  • 计算机专业毕业设计代做被抽检的概率
    计算机专业毕业设计代做被抽检的概率是2%。教育部发布的《本科毕业论文(设计)抽检办法(试行)》规定,每年本科毕业论文抽检比例原则上不低于2%。这意味着,尽管被抽检到的概率不高,但仍有可能发生。值得注意的是,抽检过程遵循独立、客观、科学和公正的原则,任何单位和个人不得干扰抽检工作......