经典决策树模型

常用的决策树算法有ID3、C4.5、CART,它们构建树所使用的启发式函数各是什么?除了构建准则之外,它们之间的区别与联系是什么?首先,我们回顾一下这几种决策树构造时使用的准则。

年龄 长相 工资 写代码 类别
小A 不会 不见
小B 年轻 一般 中等
小C 年轻 不会 不见
小D 年轻 一般
小L 年轻 一般 不会 不见

ID3: 最大信息增益



信息增益 = 经验熵-经验条件熵

\(D\):样本集合;\(K\):类别数

经验熵:

\[H(D) = -\sum_{k=1}^K \frac{|C_k|}{|D|} \text{log}_2\frac{|C_k|}{|D|}
\]

经验条件熵:

\[H(D|A)=\sum_{i=1}^n \frac{|D_i|}{|D|} H(D_i)=\sum_{i=1}^n \frac{|D_i|}{|D|}\left(-\sum_{k=1}^K \frac{|C_k|}{|D|} \text{log}_2\frac{|C_k|}{|D|}\right)
\]

示例:

  • Step1:计算经验熵

总共D=5,不见:3,见:2

\[H(D)=-\frac{3}{5} \log_2\frac{3}{5}-\frac{2}{5} \log_2\frac{2}{5}=0.971
\]

  • Step2. 计算经验条件熵

\[\begin{aligned}
&H(D|年龄) = \frac{1}{5}H(老)+\frac{4}{5}H(年轻)=\frac{1}{5}(-0)+\frac{4}{5}\left(-\frac{2}{4} \log _{2} \frac{2}{4}-\frac{2}{4} \log _{2} \frac{2}{4}\right)=0.8 \&H(D|长相) = \frac{1}{5}H(帅)+\frac{3}{5}H(一般)+\frac{1}{5}H(丑)=0+\frac{3}{5}\left(-\frac{2}{3} \log _{2} \frac{2}{3}-\frac{1}{3} \log _{2} \frac{1}{3}\right)+0=0.551 \&H(D|工资) = \frac{3}{5}H(高)+\frac{1}{5}H(中等)+\frac{1}{5}H(低)=\frac{3}{5}\left(-\frac{2}{3} \log _{2} \frac{2}{3}-\frac{1}{3} \log _{2} \frac{1}{3}\right)+0+0=0.551 \&H(D|写代码)=\frac{3}{5}H(不会)+\frac{2}{5}H(会)=\frac{3}{5}(0)+\frac{2}{5}(0)=0
\end{aligned}
\]

  • Step3. 计算信息增益

\[\begin{aligned}
&g(D,年龄) = 0.171,g(D,长相)=0.42 \&g(D,工资) = 0.42,g(D,写代码)=0.971
\end{aligned}
\]

ID3只能用于离散型变量.

C4.5:最大信息增益比

特征A对于数据集D的信息增益比定义为:

\[\text{g}_R(D, A)=\frac{\text{g}(D, A)}{H_A(D)}
\]

其中:

\[H_A(D) = -\sum_{i=1}^K \frac{|D_i|}{|D|} \text{log}_2\frac{|D_i|}{|D|}
\]

CART:最大基尼指数


CART是指分类与回归树,而前两种只能用做分类.

Gini描述的是数据的纯度,和信息熵类似。

\[\text{Gini}(D) = 1-\sum_{k=1}^n \left(\frac{|C_k|}{|D|}\right)
\]

CART在每一次迭代中选择基尼指数最小的特征及其对应的切分点进行分类。CART是一棵二叉树。特征A的Gini指数定义为:

\[\text{Gini}(D|A)=\sum_{i=1}^n\left(\frac{|D_i|}{|D|}\right)\text{Gini}(D_i)
\]

根据式(3.24)可计算出各个特征的Gini指数为

\[\begin{aligned}
&\text{Gini}(D|\text{年龄=老})=0.4, \&\text{Gini}(D|\text{年龄=年轻})=0.4,\&\text{Gini}(D|\text{长相=帅})=0.4,\text{Gini}(D|\text{长相=丑})=0.4,\&\text{Gini}(D|\text{写代码=会})=0,\text{Gini}(D|\text{写代码=不会})=0,\&\text{Gini}(D|\text{工资=高})=0.47,\text{Gini}(D|\text{工资=中等})=0.3,\&\text{Gini}(D|\text{工资=低})=0.4
\end{aligned}
\]

原文地址:https://www.cnblogs.com/selfcs/p/12623221.html

时间: 2024-11-01 19:02:06

经典决策树模型的相关文章

决策树模型(matlab)

第一个函数是计算熵的函数 <span style="font-size:18px;">function result=CEntropy(propertyList) result=0; totalLength=length(propertyList); itemList=unique(propertyList); pNum=length(itemList); for i=1:pNum itemLength=length(find(propertyList==itemList(

决策树模型与学习《一》

html { } :root { } html { font-size: 14px; background-color: var(--bg-color); color: var(--text-color); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif } body { margin: 0px; padding: 0px; height: auto; bottom: 0px; top: 0px; left: 0p

机器学习中---分类模型--决策树模型

决策树模型 决策树(DecisionTree, DT)是一种常见的用于分类和回归的非参数监督学习方法,目标是创建一个模型,通过从数 据特性中推导出简单的决策规则来预测目标变量的值.决策树模型的优点在于:1,简单容易理解,数据结构可以可视化表达.2,需要很少的数据准备,其他技术通常需 要数据标准化,需要创建虚拟变量,并删除空白值.3,能够处理多输出问题. 决策树模型的缺点在于:1,决策树学习可能会生成过于复杂的数结构,不能代表普遍的规则,即模型容易过拟 合,修剪机制,设置叶子节点所需的最小样本数目

csu 1555(线段树经典插队模型-根据逆序数还原序列)

1555: Inversion Sequence Time Limit: 2 Sec  Memory Limit: 256 MBSubmit: 469  Solved: 167[Submit][Status][Web Board] Description For sequence i1, i2, i3, … , iN, we set aj to be the number of members in the sequence which are prior to j and greater to

OpenGL边用边学------2 经典照相机模型

实际照相步骤 1 布置场景和调整照相机位置 3 选择镜头对焦Focus 4 按下快门 5 在电脑窗体中赞赏图片 OpenGL的相机模型 0 确定胶片位置 1 确立场景世界坐标系 2 在世界坐标系中确定相机位置与方向 3 在世界坐标系中建立物理世界模型 4 视图变换与模型变换的抉择 5 在照相机坐标系中确定可视范围对焦投影变换 6 调用glBegin glEnd拍照 OpenGL相机模型与实际相机的不同 1 物体和相机都能够随意移动 2 终于的照片能够是多次拍摄合成的 3 特殊的投影方式正投影 相

经典CNN模型计算量与内存需求分析

表1 CNN经典模型的内存,计算量和参数数量对比 AlexNet VGG16 Inception-v3 模型内存(MB) >200 >500 90-100 参数(百万) 60 138 23.2 计算量(百万) 720 15300 5000 1. CNN模型具体分析(以AlexNet网络模型为例) 1.1 网络结构 图1 AlexNet网络结构 AlexNet有5个卷积层和3个全连接层 C1:96×11×11×3 (卷积核个数/宽/高/深度)               34848个 C2:25

标准W3C盒子模型和IE盒子模型CSS布局经典盒子模型(转)

盒子模型是css中一个重要的概念,理解了盒子模型才能更好的排版.其实盒子模型有两种,分别是 ie 盒子模型和标准 w3c 盒子模型.他们对盒子模型的解释各不相同,先来看看我们熟知的标准盒子模型: 从上图可以看到标准 w3c 盒子模型的范围包括 margin.border.padding.content,并且 content 部分不包含其他部分. ie 盒子模型 从上图可以看到 ie 盒子模型的范围也包括 margin.border.padding.content,和标准 w3c 盒子模型不同的是

决策树模型

这一节决策树其实是对前面的堆排序,快排等是最优的比较算法的证明, 首先说下<算法导论>上对决策树的定义:一棵决策树是一棵满二叉树(注意看下面解释),表示某排序算法作用于给定输入所做的所有比较,而控制结构,移动等都被忽略了. 注意:这里个人认为定义是错误的,决策树不是一棵满二叉树,连完全二叉树都不是. 首先看看只有三个元素时,决策树的图: 在决策树中,每个内结点都用i:j表示比较下标为i数组元素与下标为j的数组元素的大小.每一个叶结点是一个n个元素的全排列. 所以排序算法的执行对应于遍历一条从树

[框架模式]经典的模型视图控制器模式MVC

参考:<设计模式> http://blog.csdn.net/u010168160/article/details/43150049 百度百科 引言: Model(模型)是应用程序中用于处理应用程序数据逻辑的部分. 通常模型对象负责在数据库中存取数据. View(视图)是应用程序中处理数据显示的部分. 通常视图是依据模型数据创建的. Controller(控制器)是应用程序中处理用户交互的部分. 通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据. MVC 分层有助于管理复杂的应用程