码迷,mamicode.com
首页 > 编程语言 > 详细

常用算法梳理

时间:2016-06-11 09:18:51      阅读:314      评论:0      收藏:0      [点我收藏+]

标签:

决策树

决策树是一种基本的分类与回归方法,通常包括三个步骤:特征选择、决策树的生成和决策树的修剪。

树由节点和有向边组成,节点分内部节点(特征或属性)和叶节点(表示一个类)

用决策树分类,从根节点开始,对实例的某一特征进行测试,根据测试结果,将实例分配到其子节点。重复上述过程,直到达到叶节点。

首先,构建根节点,将所有训练数据都放在根节点。选择一个最优特征,按照这一特征将训练数据集分割成子集,使各个子集有一个当前条件下最好的分类。如果这些子集已经能够被基本正确分类,那么构建叶节点。并将这些子集分到对应的叶节点中去。如果还有子集不能被基本正确分类,那么就对这些子集选择新的最优特征,继续对其进行分割构建相应的节点。如此递归下去,直到所有训练数据子集被基本正确分类或没有合适的特征为止。最后每个子集都有了明确的类,这就生成了一颗决策树。

决策树学习本质上是从训练数据集中归纳出一组分类规则。

与训练数据集不相矛盾的决策树可能有多个,也可能一个也没有。我们需要的是一个与训练数据矛盾较小的决策树,同时具有较好的泛化能力。

决策树学习是由训练数据集估计条件概率模型,基于特征空间划分的类的条件概率模型有无穷多个,我们选择不仅对训练数据有较好拟合,而且对未知数据有很好预测的模型。

决策树很容易引发过拟合

采用枝剪策略,对已生成的树自下而上进行枝剪,将树变得更简单,从而使他具有更好的泛化能力。

如果特征数量很多,也可以在决策树学习开始前进行特征选择(选取对训练数据具有分类能力的特征),只保留对训练数据有足够分类能力的特征。

决策树的生成对应于模型的局部最优,枝剪则考虑全局最优。

C4.5算法

  这是以决策树的形式构建的一个分类器(分类器是数据挖掘的一个工具,根据大量需要进行分类的数据学习规则,并尝试预测新数据所属的类别)。

  eg:我们有一个包含很多病人信息的数据集(如年龄、性别、脉搏、血压、家族病史等)

  C4.5算法在生成信息树的时候使用了信息增益

  C4.5使用一个单向的枝剪过程来缓解过拟合

  C4.5算法既可以处理连续数据也可以处理离散数据

  决策树可解释性强,速度也很快

 

常用算法梳理

标签:

原文地址:http://www.cnblogs.com/sxbjdl/p/5574703.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!