决策树

小编 2026-07-01 阅读:1130 评论:0
决策树 决策树是一种树形结构,每个叶节点代表一种类别。采用自顶向下的递归方法构建。基本思想是以信息熵为度量,构造一棵熵值下降最快的树。叶节点的熵值为0.。 信息量 设随机变量 x 的分布为 P...

决策树

决策树是一种树形结构,每个叶节点代表一种类别。采用自顶向下的递归方法构建。基本思想是以信息熵为度量,构造一棵熵值下降最快的树。叶节点的熵值为0.。

信息量

设随机变量 x 的分布为 P(x),则定义 x 信息量为:I(x)=log2P(x)I(x) = -\\log_2P(x)I(x)=log2P(x)

x 和 y 同时发生的信息量为:I(x,y)=I(x)+I(y)I(x, y) = I(x) + I(y)I(x,y)=I(x)+I(y)

事件发生的概率越小,包含的信息量越大,反之越小

熵代表平均信息量,表示随机变量的不确定性。定义如下:

H(X)=xXp(x)log2P(x)H(X) = -\\sum_{x \\in X} p(x)log_2P(x)H(X)=xXp(x)log2P(x)

P(xi)P(x_i)P(xi) 代表随机事件 X 为 xix_ixi 的概率。

条件熵

在一个条件下,随机变量的不确定性。

H(y|x) 表示在事件 x 发生的前提下 y 的熵。

H(YX)=xXp(x)H(YX=x)=xXp(x)yYp(yx)logp(yx)xXyYp(x,y)logp(yx)H(Y|X) = \\sum_{x \\in X} p(x)H(Y|X = x) \\\\ = -\\sum_{x \\in X}p(x)\\sum_{y \\in Y} p(y|x)logp(y|x) \\\\ -\\sum_{x \\in X} \\sum_{y \\in Y} p(x, y)logp(y|x)H(YX)=xXp(x)H(YX=x)=xXp(x)yYp(yx)logp(yx)xXyYp(x,y)logp(yx)

信息增益

信息增益 = 熵 - 条件熵

即信息增益代表了在一个条件下,信息不确定性减少的程度。

可参考知乎上的解释:信息增益到底怎么理解呢

ID3 决策树

算法:

grow(D):
	取信息量最大的属性at
	将 D 划分为若干个子集 Di
	对每个子集 Di:
		if Di 中所有样本属于同一个类别:
			创建一个类标记的叶节点
         else:
         	grow(Di)

ID3 的优点和缺点

令 D 为训练集, |D| 为训练集中的样本数;

DiD_iDi 是用属性 at 划分D后的子集, Di|D_i|DiDiD_iDi 中的样本数。

DikD_{ik}DikDiD_iDi 中类别为 CkC_kCk 的样本集合,样本数 为 Dik|D_{ik}|Dik

由相对频率估算得到的熵和条件熵称为经验熵经验条件熵

设有 K 个类 CkC_kCkCk|C_k|Ck 表示类 CkC_kCk 的样本数,那么:Ck=D\\sum |C_k| = |D|Ck=D

经验熵为:H(D)=k=1Kpklog2Pk=k=1KCkDlog2CkDH(D) = -\\sum_{k=1}^Kp_k log_2P_k = -\\sum_{k=1}^K \\frac{|C_k|}{|D|}log_2\\frac{|C_k|}{|D|}H(D)=k=1Kpklog2Pk=k=1KDCklog2DCk

属性 at 对训练集 D 的经验条件熵为:

H(Dat)=i=1npiH(Di)=i=1nDiDk=1KDikDilog2DikDiH(D|at) = \\sum_{i=1}^n p_i H(D_i) = \\sum_{i = 1}^n\\frac{|D_i|}{|D|}\\sum_{k=1}^K\\frac{|D_{ik}|}{|D_i|}log_2\\frac{|D_{ik}|}{|D_i|}H(Dat)=i=1npiH(Di)=i=1nDDik=1KDiDiklog2DiDik

信息增益:G(D, at) = H(D) - H(D|at)

信息增益越大,事件发生的确定性越大。每次划分应选择信息增益最大的属性。

C4.5 决策树

信息增益的缺点:信息增益准则倾向于选择那些有更多可能取值的属性(属性的取值范围大),因为这样会有更多的分支,叶节点包含的样本数更少,纯度更高。但这样会使得泛化能力不高,因为有更多分支不代表就是最好的分类结果。

所以 C4.5 决策树使用 “增益率” 来选择最优化分属性。

信息增益率的定义为:

\"1545281614829\"

其中 IV(at) 称为属性 at 的 ”固有值“。

\"1545281763164\"

DiD_iDi 是用属性 at 划分D后的子集, Di|D_iDiDiD_iDi 中的样本数。

属性 at 的可能取值数目越多 (n 越大),则 IV(a) 的值越大。由此可以看出 IV(at) 对可取值数目较

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
标签列表