机器学习与大数据分析——决策树

1. 基本流程

(1)叶节点类别的划分
① 当前D中所有样本都属于同一类别C时 ⇒ 将Node标记位C类型的叶节点
② 当前属性集A为空 ==> 将Node标记为当前样本集合D中数量最多类别的叶节点
③ 当前样本集D为空 ⇒ 将Node标记为其父节点样本中数量最多的类的叶节点

TreeGenerate(D,A)
{
   
    //1.生成结点Node
    if 当前D中样本全属于同一类别C then
        将Node标记为C类别的叶节点
    end if
    if 属性集A为空(但样本还未分类完毕) OR 样本在所有属性下取值相同
        将Node标记为当前样本集合D中最多类别的叶节点
    end if
    //2.从所有属性中选择最优化分
    for a in A
        // 若当前样本集合D为空
        if D 为空 then
            将Node标记为父节点样本集合D中最多类别的叶节点
        else // 不为空  分类
            TreeGenerate(D,A-{
   a})
        end if
    end for
}

2. 划分选择

2.1 信息熵

信息熵是度量样本集合纯度最常用的指标。假定集合D中第K类样本所占的比例为 P k P_k Pk,则D的信息熵定义为:
E n t ( D ) = − ∑ k = 1 2 P k l o g 2 P k Ent(D)=-\sum_{k=1}^{2}P_k log_2P_k Ent(D)=k=12Pklog2Pk
其中,Ent(D)的值越小,则D的纯度越大。
① 约定:若p=0,则 p l o g 2 p = 0 plog_2p=0 plog2p=0
② Ent(D)的最小值为0(当D中所有样本属于同一类型),最大值为1(当D中样本类型的比例呈1:1分布)

2.2 经典的属性划分方法

2.2.1 信息增益

(1)定义

离散属性 α \alpha α有V个可能的取值 a 1 , a 2 , … , a V {a^1,a^2,\dots,a^V} a1,a2,,aV,用 α \alpha α来进行划分,会产生V个分支节点,其中第v各分支节点包含了D中所有在属性 α \alpha α上取值为 a V a^V aV的样本,记为 D v D^v Dv
可以计算出用属性 α \alpha α对样本D进行划分所得到的信息增益:
G a i n ( D , α ) = E n t ( D ) − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ E n t ( D v ) Gain(D,\alpha)=Ent(D)-\sum_{v=1}^{V}\frac{|D^v|}{|D|}Ent(D^v) Gain(D,α)=Ent(D)v=1VDDvEnt(D

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冠long馨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值