机器学习基础 决策树

1 决策树是什么?

决策树算法是机器学习中最经典的算法之一。大家可能听过一些高深的算法,例如在竞赛中经常使用的Xgboost、各种集成算法等,他们都是基于树模型来建立的,所以掌握那些模型,首先我们需要掌握决策树。
树:有一个根节点,由根结点开始,不断的扩展,最终到达叶子结点,叶子结点就是最终的点,后面就无法扩展了。(相关数据结构可以自行补齐)
决策树的原理和搜索二叉树的原理差不多,从根结点开始,每次经过一个结点,都需要判断走左边还是右边,最终目标结点,那么达到目标结点的过程就是决策的过程。
根节点:数据的聚集地,第一次划分数据集的地方
非叶子节点与分支:代表中间过程的每个节点
叶子节点:数据最终的决策结果。

2 为什么用决策树

决策树的优点:简单,可视化容易,易于理解。多个树模型可以bagging,boosting,stacking来提高最终的模型效果。
缺点:容易出现过拟合现象,所以需要有剪枝策略来提高模型的泛化能力。

3 构建决策树

首先,我们需要知道怎么衡量一个特征拆分后的好坏,以及使用什么条件进行拆分(可能是枚举值,也可能是连续值)。如果是连续值,那么需要做迭代优化的过程,来选择最合适的阈值,使得最终拆分后的效果最好。

熵:指物体内部的混乱程度。根据熵的定义,熵值越高,混乱程度越高。

3.1 特征的选择

那么如何衡量拆分的好坏呢?
衡量的标准有:信息增益,信息增益率,基尼系数等。
这三种从不同的方面衡量了数据在划分前后的变换,找到最好的效果,也就是变化最大的方向,那么就选择这个特征作为我们的决策树的一个节点。

3.2 决策树的生成

有ID3算法、C4.5算法等。
ID3:在构建决策树的过程中,使用信息增益来判断这个特征拆分后,通过熵的变化(信息增益)来判断效果,按照这个方式知道构建一棵决策树。
C4.5:和ID3类似,只是在构建决策树的时候,使用信息增益率来判断特征的好坏, 信息增益率 = 信息增益/自身熵值

3.3 防止过拟合

当样本数据很大的时候,如果我们不采取措施,那么这棵树就会特别的庞大,在我们的训练集上,模型的效果会展现的很好,但是一旦到了测试集,效果就差了,这就是过拟合现象。
决策树很容易出现过拟合现象,所以我们需要采取措施防止过拟合现象的发生。
在决策树中,我们称这种方法为剪枝。
1)预剪枝:在构造决策树的同时进行剪枝,目的是限制决策树的复杂程度。常用的停止条件有树的层数、叶子结点的个数、信息增益阈值等指标,这些都是决策树算法的输入参数,当决策树的构建达到停止条件后就会自动停止。
2)后剪枝:决策树构建完成之后,通过一定的标准对其中的节点进行判断,可以自己定义标准。
后剪枝比较复杂,我们一般使用预剪枝。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值