决策树理解

决策树理解

针对以下表设计决策树:

原表1

序号

不浮出水面是否可以生存

是否有脚蹼

是否为鱼类

1

2

3

4

5

 

转化成0-1变量的表—表2

序号

No surfacing

flippers

Label

1

1

1

Yes

2

1

1

Yes

3

1

0

No

4

0

1

No

5

0

1

No

 

决策树生成学要确定以哪个特征为根节点来进行分裂,由于最终的目的是将label区分开,因此需要计算它们的熵,熵越大,表明越不确定,越混乱,首先计算原表中label的熵H(D);以特征X1为根节点进行分裂的标准就是:去除当前为根节点的特征X1,计算剩下表中label的熵即H(D|X1),根据原来熵—去掉分裂特征后剩下表中的熵即信息增益g(D,X1)=H(D)-H(D|X1)来决定选择哪个特征作为分裂特征;

表2中,未分裂之前label中有3个No,2个Yes,因此其熵为:H(D)=−(−2/5log22/5−3/5log23/5)=0.971;

假设现在以Nosurfacing作为分裂特征,在表2基础上,去掉No surfacing特征列后,其表为:

表3

序号

No surfacing

flippers

Label

1

1

1

Yes

2

1

1

Yes

3

1

0

No

4

0

1

No

5

0

1

No

 

假设以Nosurfacing来作为分裂点,如下:

取出No surfacing中的取值为1的那部分作为一个表,该表对应一个分支:

序号

No surfacing

flippers

Label

1

1

1

Yes

2

1

1

Yes

3

1

0

No

此时,该表中label的信息熵为:H(D1)=−2/3log22/3−1/3log21/3

同理,取出Nosurfacing中的取值为0的那部分作为一个表,该表对应一个分支:

4

0

1

No

5

0

1

No

 

此时,该表中label的信息熵为:H(D2)=−1log21=0

以No surfacing来作为分裂点时,其总体信息熵为:No surfacing中的取值为1的概率*对应No surfacing中的取值为1时label的信息熵 + No surfacing中的取值为0的概率*对应No surfacing中的取值为0时label的信息熵

故No surfacing来作为分裂点总体信息熵为:H(D|X1)=3/5*H(D1)+2/5*H(D2)=0.551

信息增益为:H(D)-H(D|X1)=0.420

 

同理计算另一个特征flippers记为X2为分裂点的时候的信息增益为:H(D)-H(D|X2)=0.171

可以看出,X1的信息增益比较大,因此选择X1来作为分裂点;

在已知Nosurfacing作为分裂点时,要知道另一个特征flippers是在No surfacing的左节点(No surfacing取0)还是右节点(No surfacing取1)下生长树,分别求其在两种情况下的信息增益:

情况一:

No surfacing的右节点(Nosurfacing取1)时总体信息熵为上面的H(D1)=−2/3log22/3−1/3log21/3

在No surfacing取1下的表中,取特征flippers的信息熵:

序号

No surfacing

flippers

Label

1

1

1

Yes

2

1

1

Yes

3

1

0

No

为:2/3*[−1log21−0log20]+1/3*[−1log21−0log20] =0

其中2/3为No surfacing取1表中flippers取1占的比例,与它相乘的[−1log21−0log20]则是flippers取1时label的信息熵;

情况二:

同理,计算在No surfacing取0下的表中,取特征flippers的信息熵:

最后,求取两种情况下的信息增益(或者信息增益比——避免偏向于样本数较多的样本),以信息增益(或信息增益比)较大的那个作为分列点,

 

综上:总结,在还未分列前,确定根节点时,所有特征例如No surfacing、flippers等都可以叫做待选分裂节点,一旦确定了第一个分裂点后,其待选分裂节点则以该分列点具体的分裂值为属性边了,其节点为当前属性边下label的取值情况或者其他还需分裂的特征,例如:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值