• 统计学习方法 课后习题第五章


    5.1 根据表5.1所给的训练数据集,利用信息增益比(C4.5算法)生成决策树。

    注意这里是用信息增益比哦,from sklearn.tree import DecisionTreeClassifier这里默认是gini

    首先计算数据集(D)的经验熵(H(D))
    (H(D)=-frac{6}{15}log_2frac{6}{15}-frac{9}{15}log_2frac{9} {15}=0.97095)

    (H(D|A_1)=frac{5}{15}*(-frac{3}{5}log_2frac{3}{5}-frac{2}{5}log_2frac{2}{5})+frac{5}{15}*(-frac{3}{5}log_2frac{3}{5}-frac{2}{5}log_2frac{2}{5})+frac{5}{15}*(-frac{1}{5}log_2frac{1}{5}-frac{4}{5}log_2frac{4}{5})=0.88794)

    (H(D|A_2)=frac{5}{15}*(-frac{5}{5}log_2frac{5}{5}-frac{0}{5}log_2frac{0}{5}) +frac{10}{15}*(-frac{6}{10}log_2frac{6}{10}-frac{4}{10}log_2frac{4}{10}) =0.64730)

    (H(D|A_3)=frac{6}{15}*(-frac{6}{6}log_2frac{6}{6}-frac{0}{6}log_2frac{0}{6}) +frac{9}{15}*(-frac{3}{9}log_2frac{3}{9}-frac{6}{9}log_2frac{6}{9}) =0.55098)

    然后计算数据集(D)关于各个特征A的值的熵(HA(D))
    (H_{A_1}(D)=-frac{5}{15}*log_2frac{5}{15}-frac{5}{15}*log_2frac{5}{15}-frac{5}{15}*log_2frac{5}{15} =1.58496)

    (H_{A_2}(D)=-frac{5}{15}*log_2frac{5}{15}-frac{10}{15}*log_2frac{10}{15} =0.91830)

    (H_{A_3}(D)=-frac{6}{15}*log_2frac{6}{15}-frac{9}{15}*log_2frac{9}{15} =0.97095)

    (H_{A_4}(D)=-frac{5}{15}*log_2frac{5}{15}-frac{6}{15}*log_2frac{6}{15}-frac{4}{15}*log_2frac{4}{15} =1.56605)

    好了,可以计算各个特征的信息增益比(g_R(D,A))
    (g_R(D,A_1)=frac{H(D)-H(D|A_1)}{H_{A_1}(D)} =frac{0.97095-0.88794}{1.58496} =0.05237)

    (g_R(D,A_2)=frac{H(D)-H(D|A_1)}{H_{A_2}(D)} =frac{0.97095-0.64730}{0.91830} =0.35244)

    (g_R(D,A_3)=frac{H(D)-H(D|A_1)}{H_{A_3}(D)} =frac{0.97095-0.55098}{0.97095} =0.43253)

    (g_R(D,A_4)=frac{H(D)-H(D|A_1)}{H_{A_4}(D)} =frac{0.97095-0.60796}{1.56605} =0.23179)

    选择信息增益比最大的特征(A_3),“有自己的房子”,作为分支的特征条件,把数据集(D)分为两部分(D_1(有自己的房子)),(D_2(没有自己的房子)),如下图所示:

    (下面分别对数据集D_1,D_2建树,D_1,D_2上的特征有A_1,A_2,A_4. 数据集D_1中的实例都属于同一类(“是”),建立单节点数,类别为“是”; 分别计算针对数据集D_2的各个特征的信息增益比。 首先计算经验熵H(D_2))

    (H(D_2)=-frac{3}{9}log_2frac{3}{9}-frac{6}{9}log_2frac{6}{9}=0.91830)

    (然后计算各个特征的经验条件熵 H(D_2|A))

    (H(D_2|A_1)=frac{4}{9}*(-frac{1}{4}log_2frac{1}{4}-frac{3}{4}log_2frac{3}{4}) +frac{2}{9}*(-frac{0}{2}log_2frac{02}{2}-frac{2}{2}log_2frac{2}{2}) +frac{3}{9}*(-frac{1}{3}log_2frac{1}{3}-frac{2}{3}log_2frac{2}{3})=0.66667)
    (H(D_2|A_2)=frac{3}{9}*0+frac{6}{9}*0=0)
    (H(D_2|A_4)=frac{4}{9}*0+frac{4}{9}*(-frac{2}{4}log_2frac{2}{4}-frac{2}{4}log_2frac{2}{4})+frac{1}{9}*0=0.44444)

    (然后计算在数据集D_2中各个特征的取值的经验熵H_A(D_2):)

    (H_{A_1}(D_2)=-frac{4}{9}log_2frac{4}{9}-frac{2}{9}log_2frac{2}{9}-frac{3}{9}log_2frac{3}{9}=1.53050)

    (H_{A_2}(D_2)=-frac{3}{9}log_2frac{3}{9}-frac{6}{9}log_2frac{6}{9}=0.91830)

    (H_{A_4}(D_2)=-frac{4}{9}log_2frac{4}{9}-frac{4}{9}log_2frac{4}{9}-frac{1}{9}log_2frac{1}{9}=1.39214)

    下面计算各个特征的信息增益比:

    (g_R(D_2,A_1)=frac{H(D_2)-H(D_2|A_1)}{H_{A_1}(D_2)}=frac{0.91830-0.66667}{1.53050}=0.16441)

    (g_R(D_2,A_2)=frac{H(D_2)-H(D_2|A_2)}{H_{A_2}(D_2)}=frac{0.91830-0}{0.91830}=1)

    (g_R(D_2,A_4)=frac{H(D_2)-H(D_2|A_4)}{H_{A_4}(D_2)}=frac{0.91830-0.44444}{1.39214}=0.34038)

    (选择信息增益比最大的特征A_2,有工作,作为分支的特征条件,将D_2划分为两部分,D_3:有工作,D_4:没有工作。如下图所示:)

    (分别对数据集D_3,D_4建树,数据集的特征只有A_1,A_4: 数据集D_3中的所有实例都属于同一个类“是”,所以建立单节点树,类别为“是”; 同理数据集D_4也是单节点树,类别是“否”。 建完了,树如下:)

    5.2 试用平方误差准则生成一个二叉回归树


    (c_{1},c_{2})的值代入到均方差中,如下:
    (m(1)=0+left{(4.75-6.85)^2+(4.91-6.85)^2+(5.34-6.85)^2+(5.80-6.85)^2+(7.05-6.85)^2+(7.90-6.85)^2+(8.23-6.85)^2+(8.70-6.85)^2+(9.00-6.85)^2 ight}=22.65)
















    种一棵树最好的时间是十年前,其次是现在。
  • 相关阅读:
    【腾讯Bugly干货分享】微信Tinker的一切都在这里,包括源码(一)
    【腾讯Bugly干货分享】iOS10 SiriKit QQ适配详解
    【腾讯Bugly干货分享】安卓单元测试:What, Why and How
    【腾讯Bugly干货分享】Android Linker 与 SO 加壳技术
    【腾讯优测干货分享】Android内存泄漏的简单检查与分析方法
    【腾讯Bugly经验分享】程序员的成长离不开哪些软技能?
    【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验
    从零开始安装Hadoop视频教程
    如何在MAC机器中实现移动设备WiFI上网(没有专门的无线路由器的情况)
    Alfresco安装与配置图解
  • 原文地址:https://www.cnblogs.com/islch/p/13443321.html
Copyright © 2020-2023  润新知