决策树(decision tree)是一类常见的机器学习方法,以贰分类任务为例,我们希望从给定训练数据集学得一个模型以对新示例进行分类,这个把样本进行分类的任务,可看作对“当前样本属于正常类吗?”这个问题的决策或判定的过程,顾名思义决策树是基本的树结构来进行决策,这正好是是人类面临决策问题时一种很自然的处理机制,例如,我们要对“这瓜好吗?”这样的问题进行决策时,通常会一系列的判断。或子决策,我们先来看‘它是什么颜色?’’、如果是“青绿色”,则我们再看“它根蒂是什么形态?”如果是“蜷缩的”,我们再来判断“它敲起来是什么声音?”,最后,我们得出最终的决策:这个是好瓜。这个决策的过程用一棵树来表示。如下图所示1-1:
图1-1所示
显然,决策过程中的最终结论对应啦我们所希望的判定结果,例如,"是"或者“不是”好瓜的决策。决策的过程中提出的每一个判定问题,都是对某个属性进行测试。例如,“色泽=?” "根蒂=?" 每一个测试结果或者是导出最终结论,或是导出进一步判断的问题,其考虑的范围是在上一次决策的结果限定的范围之内。
一般的,一棵决策树包含一个根节点和若干个内部节点和叶子节点:叶子节点对应着对应的决策
其他的结点对应着一个属性测试。每一个结点包含的样本集,根据每一轮的测试结果分割到叶子结点,根节点中包含着样本全集。从每一个根节点到每一个叶子结点的路径对应着一个判断测试的序列。决策树学习的目的是为了产生一棵泛化能力强。即处理未见示例能力强的决策树,其基本原则是遵循简单直观“分而治之”(divide-and-comquer)策略。