决策树相关基础知识

核心思想:

样本集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表示数据的某一种属性的一种样式,如西瓜色泽的:浅白,青绿,乌黑。
表示某一种属性的第k个取值所占的比例

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

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

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

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

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

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

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

你可能感兴趣的:(决策树相关基础知识)