决策树(信息熵—GINI)计算习题
文章目录
- 1 有以下二分类问题训练样本
- GINI计算
- 2 有以下二分类问题数据集。
- 信息增益计算
1 有以下二分类问题训练样本
顾客ID | 性别 | 车型 | 衬衣尺码 | 类 |
---|---|---|---|---|
1 | 男 | 家用 | 小 | C0 |
2 | 男 | 运动 | 中 | C0 |
3 | 男 | 运动 | 中 | C0 |
4 | 男 | 运动 | 大 | C0 |
5 | 男 | 运动 | 加大 | C0 |
6 | 男 | 运动 | 加大 | C0 |
7 | 女 | 运动 | 小 | C0 |
8 | 女 | 运动 | 小 | C0 |
9 | 女 | 运动 | 中 | C0 |
10 | 女 | 豪华 | 大 | C0 |
11 | 男 | 家用 | 大 | C1 |
12 | 男 | 家用 | 加大 | C1 |
13 | 男 | 家用 | 中 | C1 |
14 | 男 | 豪华 | 加大 | C1 |
15 | 女 | 豪华 | 小 | C1 |
16 | 女 | 豪华 | 小 | C1 |
17 | 女 | 豪华 | 中 | C1 |
18 | 女 | 豪华 | 中 | C1 |
19 | 女 | 豪华 | 中 | C1 |
20 | 女 | 豪华 | 大 | C1 |
GINI计算
- 计算整个样本集的GINI指标值
- ID属性GINI指标值
- 性别属性GINI指标值
- 多路划分属性车型的GINI指标值
- 多路划分属性衬衣的GINI指标值
- 性别、车型、衬衣哪个属性好
以下计算 GINI 公式:
GINI(D)=1−∑i=1np(i)2GINI(D) = 1-\sum_{i=1}^{n}p(i)^2GINI(D)=1−i=1∑np(i)2
解答:1. 整体Gini值:1-(1/2)^2-(1/2)^2 =0.52. ID 每个都不一样,与其他人没有共性,所以GINI=03. 性别 :1-(1/2)^2-(1/2)^2 =0.5 4. 家用: 1-(1/4)2-(3/4)2 = 0.375 运动: 1-(0/8)2-(8/8)2 = 0 豪华: 1-(1/8)2-(7/8)2 = 0.218车型GINI=4/20*0.375+8/20*0.218 = 0.16252
多路划分属性统计表:
Class | 衣服种类 | Class | 车型 | ||||||
小 | 中 | 大 | 加大 | 家用 | 运动 | 豪华 | |||
C0 | 3 | 3 | 2 | 2 | C0 | 1 | 8 | 1 | |
C1 | 2 | 4 | 2 | 2 | C1 | 3 | 0 | 7 |
5. 三种尺码GINI系数:小:1-(3/5)2-(2/5)2 = 0.48中:1-(3/7)2-(4/7)2 = 0.4898 大:1-(2/4)2-(2/4)2 = 0.5 加大:1-(2/4)2-(2/4)2 = 0.5 衬衣GINI:5/20*0.48+7/20*0.4898+4/20*0.5+4/20*0.5 = 0.4914 6. 属性比较:通过上述计算,显然车型不纯度高,更容易划分
2 有以下二分类问题数据集。
左侧为原数据,右侧上下两个表为统计数据
A | B | 类标号 | 统计A | |||
T | F | + | A=T | A=F | ||
T | T | + | + | 4 | 0 | |
T | T | + | - | 3 | 3 | |
T | F | - | ||||
T | T | + | ||||
F | F | - | ||||
F | F | - | 统计B | |||
F | F | - | B=T | B=F | ||
T | T | - | + | 3 | 1 | |
T | F | - | - | 1 | 5 |
信息增益计算
- 计算按照属性A和B划分时的信息增益。决策树归纳算法将会选择那个属性?
- 计算按照属性A和B划分时GINI指标。决策树归纳算法将会选择那个属性?
- 熵和GINI指标在区间 [0,0.5] 都是单调递增,在区间 [0,0.5] 单调递减。有没有可能信息增益和GINI指标增益支持不同的属性?解释你的理由。
信息熵:
Entropy(A)=−∑i=1ipilog2piEntropy(A) = -\sum_{i=1}^{i}p_i\log_2p_iEntropy(A)=−i=1∑ipilog2pi
(1)划分前样本集的信息熵:E=−0.4log20.4−0.6log20.6=0.9710E = -0.4\log_20.4-0.6\log_20.6 = 0.9710E=−0.4log20.4−0.6log20.6=0.9710
~~~~~~ EA=T:−47log247−37log237=0.9852E_{A=T}:-\frac{4}{7}\log_2 \frac{4}{7}-\frac{3}{7} \log_2 \frac{3}{7} = 0.9852EA=T:−74log274−73log273=0.9852
~~~~~~ EA=F:−03log203−33log233=0E_{A=F}: -\frac{0}{3}\log_2 \frac{0}{3}-\frac{3}{3} \log_2 \frac{3}{3} = 0EA=F:−30log230−33log233=0
~~~~~~ 按照A属性划分样本集的 信息增益:ΔA=E−710EA=T−310EA=F\Delta_A = E-\frac{7}{10}E_{A=T}-\frac{3}{10}E_{A=F}ΔA=E−107EA=T−103EA=F = 0.2813
~~~~~~ 同理可得:(恕我偷懒了,网页编辑公式费时)
~~~~~~ 按照B属性划分样本集的 信息增益:ΔB=E−410EB=T−610EB=F\Delta_B = E-\frac{4}{10}E_{B=T}-\frac{6}{10}E_{B=F}ΔB=E−104EB=T−106EB=F = 0.2565
~~~~~~ 因此决策树归纳算法选A属性
(2)按照属性A 、B划分样本集
~~~~~~ 解答:由原数据 (左表)和统计A 可得GINI指标:
~~~~~~ GINI类标号:G=1−(410)2−(610)2=0.48GINI_{类标号}:G =1-(\frac{4}{10})^2-(\frac{6}{10})^2= 0.48GINI类标号:G=1−(104)2−(106)2=0.48
~~~~~~ GINIA=T:1−(47)2−(37)2=0.4898GINI_{A=T}:1-(\frac{4}{7})^2-(\frac{3}{7})^2 = 0.4898GINIA=T:1−(74)2−(73)2=0.4898
~~~~~~ GINIA=F:1−(03)2−(33)2=0GINI_{A=F}:1-(\frac{0}{3})^2-(\frac{3}{3})^2 = 0GINIA=F:1−(30)2−(33)2=0
GINI 增益:
EA=GINI类标号−710GINIA=T−310GINIA=F=0.1371E_A = GINI_{类标号}-\frac{7}{10}GINI_{A=T}- \frac{3}{10}GINI_{A=F} = 0.1371EA=GINI类标号−107GINIA=T−103GINIA=F=0.1371
由统计B(右下表) 可得:
~~~~~~ GINIB=T:1−(34)2−(14)2=0.3750GINI_{B=T}:1-(\frac{3}{4})^2-(\frac{1}{4})^2 = 0.3750GINIB=T:1−(43)2−(41)2=0.3750
~~~~~~ GINIB=F:1−(16)2−(56)2=0.2778GINI_{B=F}:1-(\frac{1}{6})^2-(\frac{5}{6})^2 = 0.2778GINIB=F:1−(61)2−(65)2=0.2778
GINI 增益:
EB=GINI类标号−410GINIB=T−610GINIB=F=0.1633E_B = GINI_{类标号} - \frac{4}{10}GINI_{B=T}- \frac{6}{10}GINI_{B=F} = 0.1633 EB=GINI类标号−104GINIB=T−106GINIB=F=0.1633
~~~~~~ 因此决策树归纳算法选B属性
(C):信息增益考察的是特征对整个数据贡献,没有到具体的类别上,所以一般只能用来做全局的特征选择
Gini系数是一种与信息熵类似的做特征选择的方式,用来数据的不纯度。在做特征选择的时候,我们可以取ΔGini(X)最大的那个。
决策树(信息熵—GINI)计算习题相关推荐
- 决策树信息熵计算_决策树熵|熵计算
决策树信息熵计算 A decision tree is a very important supervised learning technique. It is basically a classi ...
- 决策树 信息熵 条件熵 基尼系数 信息增益 信息增益率 CART 随机森林
决策树: 决策树是一种树形结构,树内部每个节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶子节点代表一个分类类别.通过训练数据构建决策树,可以对未知数据进行分类, 上面的决策树深度depth ...
- 决策树①——信息熵信息增益基尼系数
本文主要是通过大白话,解释何为 信息,信息熵,信息增益,信息增益率,基尼系数 一.信息(information) 能消除不确定性的内容才能叫信息,而告诉你一个想都不用想的事实,那不叫信息. 比如数据分 ...
- Python深度学习:机器学习理论知识,包含信息熵的计算(读书笔记)
今天这一篇,我们正式接触深度学习的理论基础-机器学习 第二篇 一.机器学习分类 二.机器学习的基本算法 三.算法的理论基础 1.机器学习的基础理论-----函数逼近 2.回归算法 3.其他算法---- ...
- 中英文字数统计以及信息熵的计算
中英文字数统计以及信息熵的计算 一.实验要求 二.功能实现 2.1实验环境 2.2统计中文小说的使用频率 2.2.1代码部分 2.2.2运行结果 2.3统计英文小说26个英文字母的使用频率 2.3.1 ...
- matlab多项式计算题目,MATLAB数据分析与多项式计算-习题答案
<MATLAB数据分析与多项式计算-习题答案>由会员分享,可在线阅读,更多相关<MATLAB数据分析与多项式计算-习题答案(4页珍藏版)>请在人人文库网上搜索. 1.第6章 M ...
- 深度学习与自然语言处理实验——中文信息熵的计算
深度学习与自然语言处理实验--中文信息熵的计算 问题描述 实验原理 信息熵 语言模型的参数估计 实验过程 实验数据的预处理 一元模型 二元模型 三元模型 实验结果 语料信息统计 不同模型下的实验结果 ...
- Matlab 高光谱影像信息熵/信噪比计算
高光谱影像信息熵/信噪比计算 基于matlab实现了高光谱影像个波段信噪比和信息熵的计算 文件导入:影像格式使用的ENVI导出的img+hdr格式,参考的Matlab实现高光谱读取进行的修改.时间伧俗 ...
- 基尼系数 java_决策树的基尼系数计算过程
决策树的基尼系数计算过程 1.基尼指数的计算 在介绍具体的计算之前,先从一个例子入手吧. 先看看下面这个数据,我们需要通过前三列的特征来推断出最后一列是yes,no 1.数据 Chest Pain G ...
- 决策树的基尼系数计算过程
决策树的基尼系数计算过程 1.基尼指数的计算 在介绍具体的计算之前,先从一个例子入手吧. 先看看下面这个数据,我们需要通过前三列的特征来推断出最后一列是yes,no 1.数据 Chest Pain G ...
最新文章
- STM32学习笔记9(SysTick滴答时钟)
- 市直系统推荐市级以上表彰的_浏阳市召开第六届教育科研成果表彰大会
- Linux 系统学习梳理_【All】
- 苹果芯片工程师又被挖!这次是微软,要自研Azure服务器芯片
- .net导出Excel
- php.ini权限,php开启与关闭错误提示适用于没有修改php.ini的权限_PHP
- 服务器mysql数据库安装教程视频教程_MySQL数据库管理系统安装实际操作_MySQL教程视频 - 动力节点...
- windows上的python能否在unix上使用_怎么用python在Windows系统下,生成UNIX格式文件
- div内容居中、隐藏及按钮隐藏写法
- esp8266 继电器接线图_基于ESP8266的温控继电器
- 利用Word实现交叉引用或引用尾注添加参考文献图解
- 计算机控制plc开机,PLC控制系统与工控计算机控制系统的区别
- 计算机中丢失msvcp120.dll是什么意思,win7系统玩游戏提示“msvcp120.dll丢失”怎么修复...
- eclipse 是用来写客户端的,MyEclipse 是用来写服务器端的,谐音记忆法,My 买,买服务器这样就好记了。
- C++高阶 常对象和常函数
- 重磅!22张深度学习精炼图笔记总结!
- FL Studio水果2023版本更新下载汉化教程
- 超详细的k8s对接ceph RBD存储
- html 取消回车,java去除html回车换行
- Mysql数据库的单表查询