• 决策树构建


    信息熵:

    生活中的所见所闻,都接触到许许多多的信息,有的信息对我们有用,有的无用。如 “地球是自转的”,这条信息对我们没什么用,因为我们都知道,而且是确确实实是这样的。香农用信息熵的概念来描述信源的不确定度,变量的不确定性越大,熵也就越大。

    在某个事件中,如果不发生的概率为0,那么可以确定信息熵为0,当发生的概率为1时,属于确定性事件,同样信息熵为0。只有当发生的概率为0.5 时,不确定程度则越大,熵也就越大。(如下图,x轴为发生的概率,y轴为熵)

     计算信息熵公式:(通常以2为对数底数)

     

    其中 p(xi) 代表随机事件X为 x的概率。

     条件熵在满足某个条件下,随机变量的不确定性。

     

    信息增益信息增益是特征选择的一个重要指标,表示在某个条件下,信息不确定性的减少程度。

    简单来说:信息增益 = 信息熵 - 条件熵

    信息增益率:信息增益率为信息增益与该特征的信息熵之比

    决策树的构建,是基于 ID3算法 或 C4.5算法。

    ID3算法:
    分类预测算法,算法的核心是“信息熵”。ID3算法使用信息增益(Info-Gain),期望信息越小,信息增益越大,从而纯度越高,划分越好。ID3算法通过计算每个属性的信息增益,认为信息增益高的是好属性,每次划分选取信息增益最高的属性为划分标准,重复这个过程,直至生成一个能完美分类训练样例的决策树。
    1. 所有属性必须为离散量;
    2. 所有的训练的所有属性必须有一个明确的值;
    3. 相同的因素必须得到结论且训练例唯一;
     
    C4.5算法:
    C4.5是ID3的一个改进算法。
    使用信息增益率(Gain-ratio)选择属性;
    1. 在树构造过程中进行剪枝;
    2. 对连续属性离散化处理;
    3. 对不完整数据进行处理;
     
    优点:易于理解,准确率高;
    缺点:构造过程中对数据集独处顺序扫描排序,至算法效率低。内存足够容纳数据。

    示例: 通过信息增益构建分类决策树

    其中,Gender,Education,MarStatus,City 为分类特征,IsPay 为结果。IsPay  中, “no” 个数为9,“yes” 个数为11。

    即概率 p(Ispay = no) = 9 / 20 ,  p(Ispay = yes) = 11 / 20, 套用信息熵公式,计算 IsPay 的信息熵。

     

    结果为:E(IsPay) = 0.992774453987808

    现在以性别为例,计算信息熵和信息增益:

    男性的信息熵为:0.995727899051793

     

    女性的信息熵为:0.863121148140382

     

    该性别平均熵为:0.949315536232799

    信息增益为:0.043458917755009

     同样方法,将 Education,MarStatus,City 都计算出来,结果如下:

     

    可以看到,学历 Education 的信息增益是最大的,数据集将以 Education 为条件,划分到三个子集。树型结构如下:

    数据集如下:

    可以看到 学历为 “研究生” 的节点, Ispay 都为 “yes” ,纯度很高,不需要再划分了。即当学历为研究生时,Ispay=‘yes’ 的概率为1。

    数的第一层确定了,现在构建第二层,已学历为大专为例。计算结果如下:

     

    在这个层级节点中, City 的信息增益最大,接下来将以城市来划分节点。

    决策树构建结果如下:

     更多参考:

    ch4.pdf-分类基本概念:决策树和模型评估

    数据挖掘十大经典算法--CART: 分类与回归树

    机器学习之决策树算法

     信息熵:https://www.zhihu.com/question/22178202

    条件熵:https://www.zhihu.com/question/22104055

    信息增益:https://zhuanlan.zhihu.com/p/26551798

  • 相关阅读:
    javascript获取xml节点的最大值
    iis 不能浏览aspx页面
    批量替换文件夹里面的文本文件的指定字符
    select update delete
    SQL IAM的理解
    数据库的页构成
    sqltype IsDBNull
    MSSQL优化教程之1.4 其他几种类型的页面
    SqlDataAdapter
    行状态,行版本
  • 原文地址:https://www.cnblogs.com/hzc2012/p/8423569.html
Copyright © 2020-2023  润新知