1.什么是决策树
决策树(Decision Tree),它是一种以树形数据结构来展示决策规则和分类结果的模型,作为一种归纳学习算法,其重点是将看似无序、杂乱的已知数据,通过某种技术手段将它们转化成可以预测未知数据的树状模型,每一条从根结点(对最终分类结果贡献最大的属性)到叶子结点(最终分类结果)的路径都代表一条决策的规则。决策树就是形如下图的结构:
2.如何构建决策树
2.1 信息熵
信息熵用于解决信息的量化问题,将原本模糊的信息概念进行计算得出精确的信息熵值,信息熵是描述消息中,不确定性的值。
信息熵计算公式:
2.2 信息增益
信息增益是一种用于选择最优划分特征的准则,它衡量了通过某个特征对样本进行划分后,整个系统的不确定性减少的程度。
信息增益计算公式:
H(S)是“划分前的信息熵”,H(S|X)是“划分后的总信息熵”信息增益越大,意味着使用来划分所获得的“纯度提升”越大
2.3 增益率
增益率是决策树算法中用于特征选择的一种准则,它对信息增益进行了修正,解决了信息增益对取值数目较多的特征有所偏好的问题。
增益率计算公式:增益率=信息增益|分裂信息
2.4 基尼指数
基尼指数是决策树算法中一种用于特征选择的准则,它衡量了通过某个特征对样本进行划分后,样本集合的不纯度或混乱程度。基尼指数越小,表示样本集合的纯度越高,特征对分类的贡献越大。
基尼指数计算公式:
3.决策树优缺点
3.1 决策树优点:
1、便于理解和解释。树的结构可视化
2、训练需要的数据少,其他机器学习模型通常需要数据规范化,比如构建虚拟变量和移除缺失值
3、由于训练决策树的数据点的数量导致了决策树的使用开销呈指数分布
4、能够处理数值型数据和分类数据,其他的技术通常只能用来专门分析某一种的变量类型的数据集;
5、能够处理多路输出问题。
3.2 决策树缺点:
1、容易过度拟合。当模型在训练数据上训练得太好时,就会发生过度拟合,因此它不能很好地泛化到新数据。
2、决策树往往很复杂,可以很容易地捕获训练数据中的所有噪声,从而导致模型在训练数据上表现良好但在测试数据上表现不佳。
4.决策树剪枝
4.1 剪枝的目的
我们需要对已生成的决策树进行简化,这个简化的过程我们称之为剪枝。剪枝的目的就是得到最优的决策树模型。这个模型不仅对训练训练数据有很好的分类,对预测数据也能很好地预测。
4.2 常用的决策树剪枝方法
4.2.1 预剪枝
预剪枝:在构建决策树的过程中,在每个节点处判断是否应该剪枝,若决策树在该节点处剪枝后性能不会变差,则进行剪枝。
4.2.2 后剪枝
后剪枝:在构建决策树之后,从叶节点开始逐层往上剪枝,若决策树在该节点剪枝后性能不会下降则进行剪枝。
4.3 如何剪枝
1.构建完整的决策树。
2.使用测试数据集对整个决策树进行测试,对于测试数据和训练数据,计算其误差。
3.根据误差和剪枝策略,在生成的完整决策树上进行剪枝,得到一系列不同复杂度的决策树。
4.使用测试数据集对剪枝后的决策树进行测试,并选择误差最小的一颗决策树作为最终的决策树。
4.4 常见的剪枝策略
4.4.1 最小误差率剪枝
最小误差率剪枝:自底向上考虑将那些导致最小误差率变化最小的子树剪枝掉。
4.4.2 代价复杂度剪枝
代价复杂度剪枝:在决策树的预测准确率相同的情况下,选择复杂度更低的决策树。
5.决策树实现
6.总结
通过本次实验,对决策树有了更深入的了解,决策树是一种非参数化监督学习方法,用于分类和回归。目标是创建一个模型,通过学习从数据功能推断出的简单决策规则来预测目标变量的值。