决策树算法及其python实例

一、决策数的概念

        什么是决策树算法呢?

        决策树(Decision Tree)是一种基本的分类与回归方法,本文主要讨论分类决策树。决策树模型呈树形结构,在分类问题中,表示基于特征对数据进行分类的过程。它可以认为是if-then规则的集合。每个内部节点表示在属性上的一个测试,每个分支代表一个测试输出,每个叶节点代表一种类别

二、决策树的构造 

        1、决策树的构造步骤

       输入:训练集D={(21,11),(z2,32),...,(am,3m)};
       属性集 A = {a1,a2, ..,ad}。
       过程:函数 TreeGenerate(D, A)
       首先生成结点 node,如果D中样本全属于同一类别C 则将node 标记为C 类叶结点;如果A 为空或者D中样本在A 上取值相同 则将node 标记为叶结点,其类别标记为 D中样本数最多的类;然后从A中选择最优的划分属性x;遍历x属性的每一个值,进而为node生成一个分支 。将分支结点标记为叶结点,其类别标记为 D中样本最多的类;返回 TreeGenerate(Do, A\ {a.})为分支结点。实现了以node 为根结点的一棵决策树 。

        2、划分选择

        划分选择即如何选择最优划分属性。一般而言,随着划分过程的不断进行,我们希望决策树的分支节点所包含的样本尽可能的属于同一类别,即结点的“纯度”越来越高。

        2.1、信息增益 

         “信息熵〞(information entropy)是度量样本集合纯度最常用的一种指标。假定当前样本集合 口中第类样本所占的比例为pk(h=1,2,…•,11),则D的信息熵定义为

                         决策树算法及其python实例_第1张图片

 Ent(D)的值越小,则D的纯度越高。

        假定离散属性a有V个可能的取值 ta',a’,,,a!},若使用。来对

你可能感兴趣的:(算法,决策树,python)