决策树模型的构建:用给定的训练数据集来构建决策树模型,使其能够对其他的数据实例进行准确的分类。
在训练决策树模型时,要确保模型具有很好的泛化能力,不仅对训练数据集有效,对未知的数据实例也能够做出很好的预测。
1、特征选择
如果特征变量太多,会影响分类的效果、降低模型的可理解性。所以在算法学习之前,就要对特征变量进行筛选,留下那些分类能力强的特征。
可以使用信息增益、信息增益比、或基尼系数作为选择标准。本质上是寻找能够最好地区分不同类别的特征属性。
熵:基础熵、条件熵
信息增益:基础熵和条件熵的差值
2、树的生成
将初始数据集视为根节点。根据上一步选定的特征,将数据集划分为若干个子集。每个子集对应于一个分支,形成新的节点。
对新产生的结点再次执行特征选择过程,递归地构建决策树,直到满足停止条件。
递归停止条件:
所有的样本数据集都分类完毕。
所有的特征都分配完毕,决策树的高度等于特征的数量。
节点上的子数据集都属于同一类别,该节点不再往下划分,成为叶子节点。
3、剪枝
目的是为了让决策树变得更简单,降低过拟合的风险,从而具备更好的泛化能力。决策树的生成过程,只考虑了局部最优,而剪枝则是对应于全局最优。包括先剪枝、后剪枝。后剪枝更常用。
-------------
R语言中,可以用rpart包来实现决策树。还可以用可视化的方法画出决策树。
可以分为:分类树(输出变量通常是二元的,是或否)、回归树(输出变量是数值或概率等)。
对决策树算法的业务评估:业务专家评估决策树得出来的结论是否和业务逻辑相悖、能否在实践中应用等。
过度拟合问题:模型在训练集中表现良好,但是在新的测试集中却无法获得良好的拟合效果,就可能存在过度拟合的情况。借助专门的诊断工具,可以用来判断是否过度拟合。决策树模型中,如果模型的层数过多、节点的成员数过少,可能是模型过度拟合。
过度拟合的原因:训练数据少;存在偏置数据等。
如何预防过度拟合:在训练数据到达完美分类之前,提前结束分裂;后剪枝,根据一定的准则剪除不必要的节点。