机器学习之决策树总结

决策树

决策树是一种树形结构,其中每个内部节点表示一个属性上的判断每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果

决策树的生成

主要分以下两步,通常通过学习已经知道分类结果的样本来实现。

1. 节点的分裂:

一般当一个节点所代表的属性无法给出判断时,则选择将这一节点分成2个子节点(如不是二叉树的情况会分成n个子节点)

2. 阈值的确定:

选择适当的阈值使得分类错误率最小 (Training Error)。

常见的决策树算法:

ID3算法、C4.5算法、CART(Classification And Regression Tree)算法

ID3算法

熵(Entropy)来决定哪个做父节点,哪个节点需要分裂。对于一组数据,熵越小说明分类结果越好。选择最小的那个。
ID3存在过拟合问题:那就是越细小的分割分类错误率越小,所以ID3会越分越细,训练集分错率降到了0,但是这种分割显然只对训练数据有用,对于新的数据没有意义。由于分割太细,训练数据的分类错误率可以达到0,但是对新的数据分错率反倒上升了。ID3算法以信息增益来选择节点。

C4.5算法

C4.5中,优化项要除以分割太细的代价,这个比值叫做信息增益率,显然分割太细分母增加,信息增益率会降低。

CART算法

GINI指数:总体内包含的类别越杂乱,GINI指数就越大
CART算法选择Gini指数最小的方案
CART还是一个回归树,回归解析用来决定分布是否终止。CART对每个叶节点里的数据分析其均值方差,当方差小于一定值可以终止分裂,以换取计算成本的降低。
CART和ID3一样,存在偏向细小分割,即过度拟合的问题,为了解决这一问题,对特别长的树进行剪枝处理。

分别计算Gini系数增益,取Gini系数增益值最大的属性作为决策树的根节点属性。

决策树剪枝(预剪枝和后剪枝)

预剪枝:就是根据经验将不重要的属性先去掉

后剪枝:就是先用所有的属性值建立决策树,当决策树构建完成后再砍掉一部分,对特别长的树进行剪枝处理。

 

############################################################################################

以下可忽略,尚未整理

#根节点的Gini系数:

#根据是否有房进行划分时,Gini系数增益计算(左子节点代表yes,右子节点代表no)

#根据婚姻状况来进行划分时,Gini系数增益计算:

#根据年收入来进行划分时,Gini系数增益计算:

当面对年收入为60和70两个值时,我们算得其中间值为65.倘若以中间值65作为分割点,于是得Gini系数增益为:

#最后构建的CART决策树

决策树优缺点

优点:

       小规模数据集有效

缺点:

       处理连续变量不好

       类别较多时,错误增加的比较快

       不能处理大量数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值