决策树(上):要不要去打篮球?决策树来告诉你
生活中,会遇到各种选择,都是基于以往的经验来做判断的,如果把判断背后的逻辑整理成一张结构图,发现是一个树状图,即决策树
决策树的工作原理
把我们以前的经验总结出来,如果准备了一个打篮球的训练集,如果要出门打篮球,会根据“天气”“湿度”“温度”“刮风”几个条件来判断,最后得到结果“去打篮球?还是不去”
天气-> 温度? -> 打篮球?不打篮球?
-> 湿度? -> 打篮球?不打篮球?
-> 刮风? -> 打篮球?不打篮球?
我们在做决策树的时候会经历两个阶段:构造和剪枝
构造
生成一个完整的决策树,构造的过程就是选择什么属性作为节点的过程,在构造的过程中,会存在三种节点:
- 根节点:就是树的最顶端,最开始的那个节点,天气就是一个根节点
- 内部节点:就是树中间的那些节点,比如温度,湿度 刮风
- 叶节点:树最底部的节点,就是决策结果
节点之间有父子关系,比如根节点会有子节点,子节点会有子子节点,但到了叶节点就停止了,叶节点不存在子节点,在构造过程中,解决三个问题:
- 选择哪个属性作为跟节点
- 选择那些属性作为子节点
- 什么时候停止并得到目标状态,即子节点
剪枝
剪枝就是给决策树瘦身,目标是不需要太多的判断同样可以得到不错的结果,为了防止“过拟合Overfitting”现象的发生
过拟合指的就是模型的训练结果太好了,以至于在实际过程中存在死板的情况,导致分类错误,造成过拟合的原因是因为训练集中样本量较小,如果决策树选择的属性过多,构造出来的决策树一定能够完美把训练集中的样本分类,但是这样会把训练集中一些数据的特点当成所有数据的特点,但这个特点并不一定是全部数据