决策树随机森林

本文介绍了决策树的节点字段选择,包括信息增益、信息增益率和基尼指数的概念,阐述了C4.5算法和CART算法在决策树中的应用。此外,还详细讨论了决策树的剪枝方法,如误差降低剪枝法和悲观剪枝法,旨在提高决策树的泛化能力。
摘要由CSDN通过智能技术生成

一、节点字段的选择(ID3算法)

1.信息增益

信息熵: H ( p 1 , p 2 , . . . , p n ) = − ∑ k = 1 k p k l o g 2 p k H(p_{1},p_{2},...,p_{n})= - \sum_{k=1}^{k}p_{k}log_{2}p_{k} H(p1,p2,...,pn)=k=1kpklog2pk
对于某个事件,有k个可能值,pk表示k个可能值的发生概率。
在实际应用中,会将概率pk的值用经验概率替换 H ( D ) = − ∑ k = 1 k ∣ C k ∣ ∣ D ∣ l o g 2 ∣ C k ∣ ∣ D ∣ H(D)=-\sum_{k=1}^{k}\frac{|C_{k}|} {|D|}log_{2}\frac{|C_{k}|} {|D|} H(D)=k=1kDCklog2DCk|D|表示事件中的所有样本点,|Ck|表示事件的第k个可能值出现的次数。

条件熵: H ( D ∣ A ) = ∑ i , k P ( A i ) H ( D k ∣ A i ) = − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ ∑ k = 1 k ∣ D i k ∣ ∣ D i ∣ l o g 2 ∣ D i k ∣ ∣ D i ∣ H(D|A)=\sum_{i,k}P(A_{i})H(D_{k}|A_{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(DA)=i,kP(Ai)H(DkAi)=i=1nDDik=1kDiDiklog2DiDikP(Ai)表示A事件的第i种值对应的概率,H(Dk|Ai)已知Ai的情况下,D事件为k值得条件熵

信息增益: G a i n A ( D ) = H ( D ) − H ( D ∣ A ) Gain_{A}(D)=H(D)-H(D|A) GainA(D)=H(D)H(DA)对于已知事件A,事件D的信息增益就是D的信息熵与A事件下D的条件熵之差,事件A对D的影响越大,条件熵H就会越小,Gain(D)就会越大。

数值型自变量,信息增益:
①数值型自变量x有n个观测,做升序降序处理,计算相邻两个数值之间的均值x,从而得到n-1个均值
②以均值xi作为判断值,将数据拆分为两部分,一部分样本量为n1,均值满足x>xi,另一部分为n2,x<xi,假设第一部分数据子集中两类分别对应的样本量为C11,C12,第二部分为C21,C22,进而计算对应的增益Gain,重复得到n-1个均值下的Gain,选择最大的增益作为特征。

二、信息增益率(C4.5算法)

G a i n R a t i o A ( D ) = G a i n A ( D ) H A Gain_Ratio_{A}(D)=\frac{Gain_{A}(D)}{H_{A}} GainRatioA(D)=HAGainA(D)
HA为事件的信息熵

三、基尼指数
CART算法,分类回归树
基尼指数:
G i n i ( p 1 , p 2 , . . . , p n ) = ∑ k = 1 k p k ( 1 − p k ) = 1 − ∑ k = 1 k p k 2 Gini(p_{1},p_{2},...,p_{n})=\sum_{k=1}^{k}p_{k}(1-p_{k})=1-\sum_{k=1}^{k}p_{k}^{2} Gini(p1,p2,...,pn)=k=1kpk(1pk)=1k=1kpk2
pk表示第k个可能值的发生概率。

其中ID3和C4.5都属于多分支的决策树,CART属于单分支。

Python中的sklearn模块选择了一个较优的决策树算法,CART算法,处理离散分类DecisionTreeClassifier,处理连续分类DecisionTreeRegressor。

四、决策树剪枝
1、误差降低剪枝法
①将决策树非叶子节点作为候选对象,将其子孙节点删除,变为叶节点
②将频数最高作为分类标准
③新树在数据集预测
④重复

2、悲观剪枝法
剪枝前后误判率:
e ′ ( T ) = E ( T ) + 0.5 N e'(T)=\frac{E(T)+0.5}{N} e(T)=NE(T)+0.5
e ′ ( T t ) = ∑ i = 1 L ( E ( t i ) ) + 0.5 ∑ i = 1 L N i e'(T_{t})=\frac{\sum_{i=1}^{L}(E(t_{i}))+0.5}{\sum_{i=1}^{L}N_{i}} e(Tt)=i=1LNii=1L(E(ti))+0.5
e’(T)剪枝后中间节点T被换成叶节点的误判率
e’(Tt)中间节点T剪枝前其对应叶节点的误判率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值