决策树是机器学习的一种经典算法:
决策树,就如他的名字吧,是一个数字是树状结构,树是在大学期间学过的一个数据结构。
有点类似于一个分类的树,
现在决策树的生成算法有ID3, C4.5和C5.0等,已经发展比较久了。
其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果
其中运用到了有监管学习,监管学习是一种有标签的样本,每一个样本都有一组属性和一个分类结果,也就是分类结果已知,通过这些样本的学习,来识别新的样本
那么我们如何构建决策树呢?
构造决策树的过程实际上就是选择什么属性作为节点的过程,在构造过程中会存在三种节点:
- 根节点:就是树的最顶端,最开始的那个节点
- 内部节点:就是树中间的那些节点
- 叶节点:就是树最底部的节点,也就是决策结果。
节点之间有父子关系,就比如说是,父节点 有 子节点,叶子节点没有子节点,
从这里我可以看出需要那些解决的问题:
- 选择哪个属性作为根节点;
- 选择哪些属性作为子节点;
- 什么时候停止并得到目标状态,即叶节点
其中是选择根节点最重要
防止决策树过拟合,需要给决策树进行裁剪,就是去除那些非必要的判断
构建决策树
1.首先,我们要明确自已的目标:将进入树的数据,更好的分类出来
纯度:决策树的构建实际上就是在寻找纯净划分的过程,我们寄希望于通过一个节点就可以区分是或者不是
信息熵:表示了信息的不确定度 换句话说就是数据的混沌程度,不确定性越大,信息熵越大,纯度就越小
信息熵的数学公式如下:
子节点的加权基尼越低越好