算法 -- 决策树算法

一、决策树是什么?

  决策树 (decision tree) 是一个树结构(可以是二叉树或者非二叉树)。其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中响应的特征属性,并按照其值选择输出分支,知道到达叶子结点,将叶子结点存放的类别作为决策结果。

二、决策树的构造

  决策树的构造使用属性选择度量来选择将元素最好的划分成不同的类的属性。所谓决策树的构造就是进行属性选择度量确定各个特征属性之间的拓扑结构

  1、构造决策树的关键步骤是分裂属性

    分裂属性就是指 在某个节点处按照某一特征属性的不同划分构造不同的分支,

  目标是 让各个分裂子集尽可能的"纯",就是尽量让一个分裂子集中待分类项属于同一类别。

    分裂属性又分为这三种情况:

      a、属性是离散值且不要求生成二叉决策树。此时,属性的每一个划分作为一个分支。

      b、属性是离散值且要求生成二叉决策树。此时,使用属性划分的一个子集进行测试,按照"属于此子集"和"不属于此子集"分成两个分支。

      c、属性是连续值。此时确定一个值作为分裂点 split_point;按照 > split_point 和 <=split_point 生成两个分支。

  2、属性选择度量算法 --- Hunt 算法

    一般是选择自顶向下递归分支法,并采用不不回溯的贪心策略。

    

        

posted on 2017-08-23 16:19  张伯伦  阅读(141)  评论(0)    收藏  举报

导航