决策树算法

2014-11-10 决策树

展示量: 2183


 
  机器学习中,决策树是一个预测模型;它代表的是对象属性值与对象值之间的一种映射关系。树中每个节点表示某个对象,每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应具有上述属性值的子对象。决策树仅有单一输出;若需要多个输出,可以建立独立的决策树以处理不同输出。
  从数据产生决策树的机器学习技术叫做决策树学习, 通俗说就是决策树。
  关于决策树,几乎是数据挖掘分类算法中最先介绍到的。
  决策树,顾名思义就是用来做决定的树,一个分支就是一个决策过程。
  每个决策过程中涉及一个数据的属性,而且只涉及一个。然后递归地,贪心地直到满足决策条件(即可以得到明确的决策结果)。
  决策树算法:顾名思义,以二分类问题为例,即利用自变量构造一颗二叉树,将目标变量区分出来,所有决策树算法的关键点如下:
  1.分裂属性的选择:选择哪个自变量作为树叉,也就是在n个自变量中,优先选择哪个自变量进行分叉。而采用何种计算方式选择树叉,决定了决策树算法的类型,即ID3、c4.5、CART三种决策树算法选择树叉的方式是不一样的。
  2.树剪枝:在构建树叉时,由于数据中的噪声和离群点,许多分支反映的是训练数据中的异常,而树剪枝则是处理这种过分拟合的数据问题,常用的剪枝方法为先剪枝和后剪枝。
  决策树是一种十分常用的分类方法。他是一种监管学习,所谓监管学习说白了很简单,就是给定一堆样本,每个样本都有一组属性和一个类别,这些类别是事先确定的,那么通过学习得到一个分类器,这个分类器能够对新出现的对象给出正确的分类。这样的机器学习就被称之为监督学习。
  构建一棵决策树,关键问题就在于,如何选择一个合适的分裂属性来进行一次分裂,以及如何制定合适的分裂谓词来产生相应的分支。各种决策树算法的主要区别也正在于此。 
  利用决策树算法构建一个初始的树之后,为了有效地分类,还要对其进行剪枝。这是因为,由于数据表示不当、有噪音等原因,会造成生成的决策树过大或过度拟合。因此为了简化决策树,寻找一颗最优的决策树,剪枝是一个必不可少的过程。
  决策树学习也是数据挖掘中一个普通的方法。在管理学中,每个决策树都表述了一种树型结构,它由它的分支来对该类型的对象依靠属性进行分类。每个决策树可以依靠对源数据库的分割进行数据测试。这个过程可以递归式的对树进行修剪。当不能再进行分割或一个单独的类可以被应用于某一分支时,递归过程就完成了。另外,随机森林分类器将许多决策树结合起来以提升分类的正确率。
  行业分析发现,决策树越小,就越容易理解,其存储与传输的代价也就越小,但决策树过小会导致错误率较大。反之,决策树越复杂,节点越多,每个节点包含的训练样本个数越少,则支持每个节点样本数量也越少,可能导致决策树在测试集上的分类错误率越大。因此,剪枝的基本原则就是,在保证一定的决策精度的前提下,使树的叶子节点最少,叶子节点的深度最小。要在树的大小和正确率之间寻找平衡点。 
  在生成一棵最优的决策树之后,就可以根据这棵决策树来生成一系列规则。这些规则采用“If...,Then...”的形式。从根节点到叶子节点的每一条路径,都可以生成一条规则。这条路径上的分裂属性和分裂谓词形成规则的前件(If部分),叶子节点的类标号形成规则的后件(Then部分)。
  相对于其他数据挖掘算法,决策树在以下几个方面拥有优势:
  决策树易于理解和实现,人们在通过解释后都有能力去理解决策树所表达的意义。
  对于决策树,数据的准备往往是简单或者是不必要的,其他的技术往往要求先把数据一般化,比如去掉多余的或者空白的属性;
  能够同时处理数据型和常规型属性;
  是一个白盒模型如果给定一个观察的模型,那么根据所产生的决策树很容易推出相应的逻辑表达式;
  易于通过静态测试来对模型进行评测。 表示有可能测量该模型的可信度;
  在相对短的时间内能够对大型数据源做出可行且效果良好的结果。
Copyright©彩票网投APP ALL Rights Reserved