决策树相关基础知识

核心思想:

样本集D,属性集A

setTree(D,A):
    生成结点node
    if(样本最终分类相同)
        node标记为该分类的叶结点
        return
    if(样本在A的某一个属性上取值相同 || 属性集合A已经是空集)
        node标记为叶结点并标记为数目最多的属性取值
    #选取最佳划分属性
    for features in A:
        计算每一个属性划分得到的指标数值(香农熵/信息熵,基尼指数...)
    选取出指标最优的属性a
    for values in a:
        为该取值的样本D'分配一个子结点
        #if 若该取值样本不存在,分配一个标记为父节点样本最多属性取值的子节点(?)
        else
            setTree(D',A-valus)
    return

相关概念及公式
共有D组数据
K表示数据的某一种属性的一种样式,如西瓜色泽的:浅白,青绿,乌黑。
image表示某一种属性的第k个取值所占的比例

信息熵表示当前计算属性的纯度,Ent(D)越小,D纯度越高。
信息熵(又称香农熵):
image

信息增益表示用数据的某一种属性来划分后所获的“纯度提升”,信息增益越大,提升越大。A表示某一种(离散)属性,共有V种不同的取值,v表示第v个取值(分支)。
信息增益:
image

由于信息增益对于分类较多的属性有所偏好,所以为了平衡这种偏向便有了增益率。
增益率:
image

若属性a的可能取值数目(V)越多,固有值通常会越大。
固有值:
image

在以上属性使用时,可遵循一定的组合,如先选出信息增益高于平均水平的属性,再用增益率进行筛选。

基尼指数反映了从数据集D中随机抽取两个样本其类别不一致的概率。
基尼指数:
image

属性a的基尼指数的定义类似。
属性a的基尼指数:
image

posted @ 2019-04-08 21:48  LOSKI  阅读(214)  评论(0编辑  收藏  举报