3.1 决策树的基本思想

来源:互联网 发布:js点击缓慢移动 编辑:程序博客网 时间:2024/05/24 05:47
实例:销售调查例子(对潜在客户进行分类,给出销售人员指导意见)
销售调查表:

销售调查决策树:

上面仅是从定性的角度对潜在用户的判断,下面加上定量的判断:


决策树的算法框架
  • 决策树的主函数:各种决策树的主函数大同小异,本质上是个递归函数,该函数主要功能是根据某种规则生长出决策树的各个分支节点,并根据终止条件结束算法。
    • 输入需要分类的数据集和类别标签
    • 根据某种分类规则得到最优的划分特征,并创建特征的划分节点——计算最优特征子函数
    • 按照该特征的每个取值划分数据集为若干部分——划分数据集子函数
    • 根据划分子函数的计算结果构建出新的节点,作为树生长出的新分支
    • 检验是否符合递归终止条件
    • 将划分的新节点包含的数据集和类别标签作为输入,递归执行上述步骤
  • 计算最优特征子函数:不同标准导致不同类型的决策树,如ID3的最优特征选择标准是信息增益,C4.5是信息增益率,CART是节点方差的大小等等。算法逻辑上,一般选择最优特征需要遍历整个数据集,评估每个特征,找到最优的那个返回。
  • 划分数据集子函数:分隔数据集。
  • 分类器:将测试遍历整个生成的决策树,并找到最终的叶子节点的类别标签。这个标签就是返回的结果。

信息熵测度

特征集中的数据常常表现为定性字符串数据,成为标称数据,使用这些数据的算法缺乏泛化能力,在实际计算中需要将这些数据定量化为数字,即所谓的离散化。

如何每次都选择出特征集中无序度最大的那列特征作为划分节点??
为了衡量一个事物特征取值的有无序程度,引入一个概念:信息熵
香农(Shannon)在他的《信息论》中借用了熵的概念,提出了著名的信息熵。

不妨将信息熵理解成某种特定信息的出现概率

  • 不确定性函数I,又称为事件的信息量,是事件U发生概率p的单调递减函数

    • 具有可加性,即两个独立事件所产生的不确定性应等于各自不确定性之和,即 I(P1,P2) = I(P1) + I(P2)
  • 考虑信源所有可能情况的平均不确定性,使用单个不确定性-log(pi)来统计平均值E,可称为信息熵

      • 上式中对数一般取2为底
      • 信息熵是事物不确定性的度量标准,也成为信息的单位或测度。
      • 某个特征列向量的信息熵越大,就说明该向量的不确定性程度越大,即混乱程度越大
  • 我们需要使用信息熵来度量类别标签对样本整体的不确定性。设S是s个数据样本的集合,类别标签具有m个不同值,定义m个不同类Ci(i=1,2,3,...,m)。设si是Ci中的样本数。则对于一个给定的样本分类所需要的信息熵如下:

      • pi为任意样本属于Ci的概率,pi=si/|S|
  • 接下来使用信息熵度量每种特征不同取值的不确定性。设A具有v个不同值{a1,a2,...,av}。可以用特征A将S划分成v个子集{S1,S2,...,Sv}。其中,Sj包含在A上具有值aj的样本。如果选A做测试特征,即最优划分特征,那么这些子集就是S节点中生长出来的决策树分支。设sij是子集sj中类Ci的样本数。根据由A划分成子集的熵:

      • 其中:
      • pij=sij/|Sj|
  • 最后使用信息增益来确定决策树分支的划分依据。其是决策树上某个分支上整个数据集信息熵与当前节点信息熵的差值,用Gain(A)表示:

    • 具有最高信息增益的特征就可以选作给定集合S的测试属性。创建一个节点,并以该特征标记,对特征的每个值创建分支,并根据此划分样本。
    • 可以理解成:将不确定性降低最多的特征选出来,选为节点!!
原创粉丝点击