决策树学习基本算法

输入
训练集D={(x1,y1),(x2,y2),…(xm,ym)};
属性集A={a1,a2,…ad}.
过程:函数TreeGenerate(D,A)

  1. 生成结点node;
  2. if D中样本全属于同一类别C:
    将node标记为C类叶结点;
    递归返回
    end if
  3. if A=空集 或 D中样本在A上取值相同:
    将node标记为D中样本数(当前结点)最多的类(成为叶结点);
    递归返回
    end if
  4. 从A中选择最优划分属性a*
  • a*=argmax Gain(D,a)
    [最大化信息增益,偏好可取值数目较多的属性 ]
  • a*=argmax Gain_ratio(D,a)
    [ 最大化信息增益率,偏好可取值数目较少的属性]
  • a*=argmin Gini_index(D,a)
    [最小化基尼指数]
  1. for a* 的每个值 a‘* do
    为node生成一个分支;令Dv表示D中在a*上取值为a’*的样本子集
    if Dv为空:
    将分支结点标记为D中样本数(父结点)最多的类(成为叶结点);
    递归返回
    else
    以TreeGenerate(Dv,A{a*})为分支结点
    end if
    end for

输出
以node为根结点的一棵决策树

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值