决策树
决策树是一种基本的分类与回归方法,通常包括三个步骤:特征选择、决策树的生成和决策树的修剪。
树由节点和有向边组成,节点分内部节点(特征或属性)和叶节点(表示一个类)
用决策树分类,从根节点开始,对实例的某一特征进行测试,根据测试结果,将实例分配到其子节点。重复上述过程,直到达到叶节点。
首先,构建根节点,将所有训练数据都放在根节点。选择一个最优特征,按照这一特征将训练数据集分割成子集,使各个子集有一个当前条件下最好的分类。如果这些子集已经能够被基本正确分类,那么构建叶节点。并将这些子集分到对应的叶节点中去。如果还有子集不能被基本正确分类,那么就对这些子集选择新的最优特征,继续对其进行分割构建相应的节点。如此递归下去,直到所有训练数据子集被基本正确分类或没有合适的特征为止。最后每个子集都有了明确的类,这就生成了一颗决策树。
决策树学习本质上是从训练数据集中归纳出一组分类规则。
与训练数据集不相矛盾的决策树可能有多个,也可能一个也没有。我们需要的是一个与训练数据矛盾较小的决策树,同时具有较好的泛化能力。
决策树学习是由训练数据集估计条件概率模型,基于特征空间划分的类的条件概率模型有无穷多个,我们选择不仅对训练数据有较好拟合,而且对未知数据有很好预测的模型。
决策树很容易引发过拟合
采用枝剪策略,对已生成的树自下而上进行枝剪,将树变得更简单,从而使他具有更好的泛化能力。
如果特征数量很多,也可以在决策树学习开始前进行特征选择(选取对训练数据具有分类能力的特征),只保留对训练数据有足够分类能力的特征。
决策树的生成对应于模型的局部最优,枝剪则考虑全局最优。
C4.5算法
这是以决策树的形式构建的一个分类器(分类器是数据挖掘的一个工具,根据大量需要进行分类的数据学习规则,并尝试预测新数据所属的类别)。
eg:我们有一个包含很多病人信息的数据集(如年龄、性别、脉搏、血压、家族病史等)
C4.5算法在生成信息树的时候使用了信息增益
C4.5使用一个单向的枝剪过程来缓解过拟合
C4.5算法既可以处理连续数据也可以处理离散数据
决策树可解释性强,速度也很快