DM Hw4

1

a

划分前的熵: E n t r o p y ( 0 ) = − 0.4 ⋅ l o g 2 { 0.4 } − 0.6 ⋅ l o g 2 { 0.6 } = 0.9710 Entropy_{(0)}=-0.4\cdot log_2\{0.4\}-0.6\cdot log_2\{0.6\}=0.9710 Entropy(0)=0.4log2{0.4}0.6log2{0.6}=0.9710

  • 按照A划分

    A = TA = F
    +40
    -33
    73

    E n t r o p y ( A = T ) = − 4 7 ⋅ l o g 2 4 7 − 3 7 ⋅ l o g 2 3 7 = 0.9852 Entropy_{(A = T)}=-\frac{4}{7}\cdot log_2{\frac{4}{7}}-\frac{3}{7}\cdot log_2{\frac{3}{7}}=0.9852 Entropy(A=T)=74log27473log273=0.9852
    E n t r o p y ( A = F ) = − 0 3 ⋅ l o g 2 0 3 − 3 3 ⋅ l o g 2 3 3 = 0 Entropy_{(A = F)}=-\frac{0}{3}\cdot log_2{\frac{0}{3}}-\frac{3}{3}\cdot log_2{\frac{3}{3}}=0 Entropy(A=F)=30log23033log233=0

    所以,信息增益为:
    Δ i n f o − A = E n t r o p y ( 0 ) − 7 10 E n t r o p y ( A = T ) − 3 10 E n t r o p y ( A = F ) = 0.2813 \Delta_{info-A}=Entropy_{(0)}-\frac{7}{10}Entropy_{(A = T)}-\frac{3}{10}Entropy_{(A = F)}=0.2813 ΔinfoA=Entropy(0)107Entropy(A=T)103Entropy(A=F)=0.2813

  • 按照B划分

    B = TB = F
    +31
    -15
    46

    E n t r o p y ( B = T ) = − 3 4 ⋅ l o g 2 3 4 − 1 4 ⋅ l o g 2 1 4 = 0.8113 Entropy_{(B = T)}=-\frac{3}{4}\cdot log_2{\frac{3}{4}}-\frac{1}{4}\cdot log_2{\frac{1}{4}}=0.8113 Entropy(B=T)=43log24341log241=0.8113
    E n t r o p y ( B = F ) = − 1 6 ⋅ l o g 2 1 6 − 5 6 ⋅ l o g 2 5 6 = 0.6500 Entropy_{(B = F)}=-\frac{1}{6}\cdot log_2{\frac{1}{6}}-\frac{5}{6}\cdot log_2{\frac{5}{6}}=0.6500 Entropy(B=F)=61log26165log265=0.6500

    所以,信息增益为:
    Δ i n f o − B = E n t r o p y ( 0 ) − 4 10 E n t r o p y ( B = T ) − 6 10 E n t r o p y ( B = F ) = 0.2565 \Delta_{info-B}=Entropy_{(0)}-\frac{4}{10}Entropy_{(B = T)}-\frac{6}{10}Entropy_{(B = F)}=0.2565 ΔinfoB=Entropy(0)104Entropy(B=T)106Entropy(B=F)=0.2565

所以,比较可得出,应按照A划分


b

  • 按照A划分

    G i n i ( A = T ) = 1 − ( 4 7 ) 2 − ( 3 7 ) 2 = 0.4898 Gini_{(A = T)}=1-(\frac{4}{7})^2-(\frac{3}{7})^2=0.4898 Gini(A=T)=1(74)2(73)2=0.4898
    G i n i ( A = F ) = 1 − ( 0 3 ) 2 − ( 3 3 ) 2 = 0 Gini_{(A = F)}=1-(\frac{0}{3})^2-(\frac{3}{3})^2=0 Gini(A=F)=1(30)2(33)2=0

    所以,基尼指数为:
    G i n i ( A ) = 7 10 G i n i ( A = T ) + 3 10 G i n i ( A = F ) = 0.3429 Gini_{(A)}=\frac{7}{10}Gini_{(A = T)}+\frac{3}{10}Gini_{(A = F)}=0.3429 Gini(A)=107Gini(A=T)+103Gini(A=F)=0.3429

  • 按照B划分

    G i n i ( B = T ) = 1 − ( 3 4 ) 2 − ( 1 4 ) 2 = 0.3750 Gini_{(B = T)}=1-(\frac{3}{4})^2-(\frac{1}{4})^2=0.3750 Gini(B=T)=1(43)2(41)2=0.3750
    G i n i ( B = F ) = 1 − ( 1 6 ) 2 − ( 5 6 ) 2 = 0.2778 Gini_{(B = F)}=1-(\frac{1}{6})^2-(\frac{5}{6})^2=0.2778 Gini(B=F)=1(61)2(65)2=0.2778

    所以,基尼指数为:
    G i n i ( B ) = 4 10 G i n i ( B = T ) + 6 10 G i n i ( B = F ) = 0.3167 Gini_{(B)}=\frac{4}{10}Gini_{(B = T)}+\frac{6}{10}Gini_{(B = F)}=0.3167 Gini(B)=104Gini(B=T)+106Gini(B=F)=0.3167

所以,比较可得出,应按照B划分


c

可能的。
由前两问可以看出:熵和基尼指数有在一定的相同范围内变化趋势相同,而它们支持不同的属性,这是因为它们对增益的度量方式不同,可能导致具体结果有一定的不同。


2

a

对于父节点P:
基尼指数: G i n i P = 1 − ( 7 10 ) 2 − ( 3 10 ) 2 = 0.42 Gini_P=1 - (\frac{7}{10})^2 - (\frac{3}{10})^2 = 0.42 GiniP=1(107)2(103)2=0.42
错误分类的错误率: e r r o r P = 1 − m a x { 0.7 , 0.3 } = 0.3 error_P=1 - max\{0.7, 0.3\} = 0.3 errorP=1max{0.7,0.3}=0.3


b

对于子节点:
G i n i ( C 1 ) = 1 − ( 3 3 ) 2 − ( 0 3 ) 2 = 0 Gini_{(C_1)}=1-(\frac{3}{3})^2-(\frac{0}{3})^2=0 Gini(C1)=1(33)2(30)2=0
G i n i ( C 2 ) = 1 − ( 4 7 ) 2 − ( 3 7 ) 2 = 0.4898 Gini_{(C_2)}=1-(\frac{4}{7})^2-(\frac{3}{7})^2=0.4898 Gini(C2)=1(74)2(73)2=0.4898

所以,加权基尼指数为:
G i n i C = 3 10 G i n i ( C 1 ) + 7 10 G i n i ( C 2 ) = 0.3429 Gini_C=\frac{3}{10}Gini_{(C_1)}+\frac{7}{10}Gini_{(C_2)}=0.3429 GiniC=103Gini(C1)+107Gini(C2)=0.3429

如果将基尼指数用作不纯性测量,会考虑这个属性测试条件,因为:
从计算结果可得出,子结点的加权基尼指数更低,即子结点纯度更高。


c

加权错误率为:
e r r o r C = 3 + 0 10 = 0.3 error_C=\frac{3+0}{10}=0.3 errorC=103+0=0.3
如果使用错误分类率作为不纯性测量,可以考虑也可以不考虑这个属性测试条件,因为:
从计算结果可得出,子结点的加权错误分类率与父节点相同。


3

  • 第一层:属性X、Y和Z的错误率。

    • 属性X:

      XC1C2
      06060
      14040

      X的分类错误率为: e r r o r X = 60 + 40 200 = 0.5 error_X=\frac{60 + 40}{200} = 0.5 errorX=20060+40=0.5

    • 属性Y:

      YC1C2
      04060
      16040

      Y的分类错误率为: e r r o r Y = 40 + 40 200 = 0.4 error_Y=\frac{40 + 40}{200} = 0.4 errorY=20040+40=0.4

    • 属性Z:

      ZC1C2
      03070
      17030

      Z的分类错误率为: e r r o r Z = 30 + 30 200 = 0.3 error_Z=\frac{30 + 30}{200} = 0.3 errorZ=20030+30=0.3

    因为Z的分类错误率最低,选择Z为第一层的划分属性。

  • 第二层:

    • Z = 0 Z = 0 Z=0

      XC1C2
      01545
      11525
      YC1C2
      01545
      11525

      X和Y的分类错误率相同,均为: e r r o r X 1 = e r r o r Y 1 = 15 + 15 100 = 0.3 error_{X_1}=error_{Y_1}=\frac{15 + 15}{100} = 0.3 errorX1=errorY1=10015+15=0.3

    • Z = 1 Z = 1 Z=1

      XC1C2
      04515
      12515
      YC1C2
      02515
      14515

      X和Y的分类错误率相同,均为: e r r o r X 2 = e r r o r Y 2 = 15 + 15 100 = 0.3 error_{X_2}=error_{Y_2}=\frac{15 + 15}{100} = 0.3 errorX2=errorY2=10015+15=0.3

所以总错误率为: e r r o r = 15 + 15 + 15 + 15 100 + 100 = 0.3 error=\frac{15+15+15+15}{100+100} = 0.3 error=100+10015+15+15+15=0.3


b

选择X为第一层的划分属性后:

  • X = 0 X = 0 X=0

    YC1C2
    0555
    1555
    ZC1C2
    01545
    14515

    Y分类错误率: e r r o r Y 1 = 5 + 5 120 = 0.0833 error_{Y_1}=\frac{5 + 5}{120} = 0.0833 errorY1=1205+5=0.0833
    Z分类错误率: e r r o r Z 1 = 15 + 15 120 = 0.25 error_{Z_1}=\frac{15 + 15}{120} = 0.25 errorZ1=12015+15=0.25

    所以,选择Y划分

  • X = 1 X = 1 X=1

    YC1C2
    0355
    1535
    ZC1C2
    01525
    12515

    Y分类错误率: e r r o r Y 1 = 5 + 5 80 = 0.125 error_{Y_1}=\frac{5 + 5}{80} = 0.125 errorY1=805+5=0.125
    Z分类错误率: e r r o r Z 1 = 15 + 15 80 = 0.375 error_{Z_1}=\frac{15 + 15}{80} = 0.375 errorZ1=8015+15=0.375

    所以,选择Y划分

所以总错误率为: e r r o r = 5 + 5 + 5 + 5 120 + 80 = 0.1 error=\frac{5+5+5+5}{120+80} = 0.1 error=120+805+5+5+5=0.1


c

比较上两问结果可知:第二问构建的决策树分类错误率比第一问构建的更小,所以:贪心法并不一定能产生最优决策树。


4

a

划分前的分类错误率为: e r r o r 0 = 1 − m a x ( 50 100 , 50 100 ) = 0.5 error_0 = 1 − max( \frac{50}{100}, \frac{50}{100}) = 0.5 error0=1max(10050,10050)=0.5

  • 按照A划分

    A = TA = F
    +2525
    -050

    e r r o r ( A = T ) = 0 25 = 0 error_{(A=T)} = \frac{0}{25} = 0 error(A=T)=250=0
    e r r o r ( A = F ) = 25 75 = 0.3333 error_{(A=F)} = \frac{25}{75} = 0.3333 error(A=F)=7525=0.3333

    分类错误率的增益为:
    Δ A = e r r o r 0 − 25 100 e r r o r ( A = T ) − 75 100 e r r o r ( A = F ) = 0.25 \Delta_A = error_0 − \frac{25}{100}error_{(A=T)} − \frac{75}{100}error_{(A=F)} = 0.25 ΔA=error010025error(A=T)10075error(A=F)=0.25

  • 按照B划分

    B = TB = F
    +3020
    -2030

    e r r o r ( B = T ) = 20 50 = 0.4 error_{(B=T)} = \frac{20}{50} = 0.4 error(B=T)=5020=0.4
    e r r o r ( B = F ) = 20 50 = 0.4 error_{(B=F)} = \frac{20}{50} = 0.4 error(B=F)=5020=0.4

    分类错误率的增益为:
    Δ B = e r r o r 0 − 50 100 e r r o r ( B = T ) − 50 100 e r r o r ( B = F ) = 0.1 \Delta_B = error_0 − \frac{50}{100}error_{(B=T)} − \frac{50}{100}error_{(B=F)} = 0.1 ΔB=error010050error(B=T)10050error(B=F)=0.1

  • 按照C划分

    C = TC = F
    +2525
    -2525

    e r r o r ( C = T ) = 25 50 = 0.5 error_{(C=T)} = \frac{25}{50} = 0.5 error(C=T)=5025=0.5
    e r r o r ( C = F ) = 25 50 = 0.5 error_{(C=F)} = \frac{25}{50} = 0.5 error(C=F)=5025=0.5

    分类错误率的增益为:
    Δ C = e r r o r 0 − 50 100 e r r o r ( C = T ) − 50 100 e r r o r ( C = F ) = 0 \Delta_C = error_0 − \frac{50}{100}error_{(C=T)} − \frac{50}{100}error_{(C=F)} = 0 ΔC=error010050error(C=T)10050error(C=F)=0

所以,比较增益可得出,应选择A作为第一个划分属性


b

对于 A = T A=T A=T,已经完全正确分类了,不需要再划分。
对于 A = F A=F A=F
划分前的分类错误率为: e r r o r 0 = 25 75 = 0.3333 error_0= \frac{25}{75} = 0.3333 error0=7525=0.3333

  • 按照B划分

    B = TB = F
    +250
    -2030

    e r r o r ( B = T ) = 20 45 = 0.4444 error_{(B=T)} = \frac{20}{45} = 0.4444 error(B=T)=4520=0.4444
    e r r o r ( B = F ) = 0 30 = 0 error_{(B=F)} = \frac{0}{30} = 0 error(B=F)=300=0

    分类错误率的增益为:
    Δ B = e r r o r 0 − 45 75 e r r o r ( B = T ) − 30 75 e r r o r ( B = F ) = 0.0667 \Delta_B = error_0 − \frac{45}{75}error_{(B=T)} − \frac{30}{75}error_{(B=F)} = 0.0667 ΔB=error07545error(B=T)7530error(B=F)=0.0667

  • 按照C划分

    C = TC = F
    +025
    -2525

    e r r o r ( C = T ) = 0 25 = 0 error_{(C=T)} = \frac{0}{25} = 0 error(C=T)=250=0
    e r r o r ( C = F ) = 25 50 = 0.5 error_{(C=F)} = \frac{25}{50} = 0.5 error(C=F)=5025=0.5

    分类错误率的增益为:
    Δ C = e r r o r 0 − 25 75 e r r o r ( C = T ) − 50 75 e r r o r ( C = F ) = 0 \Delta_C = error_0 − \frac{25}{75}error_{(C=T)} − \frac{50}{75}error_{(C=F)} = 0 ΔC=error07525error(C=T)7550error(C=F)=0

所以,比较增益可得出,应选择B划分


c

20 20 20


d

选择C为划分属性后:

  • C = T C = T C=T

    划分前的分类错误率为: e r r o r 0 = 25 50 = 0.5 error_0= \frac{25}{50} = 0.5 error0=5025=0.5

    • 按照A划分

      A = TA = F
      +250
      -025

      e r r o r ( A = T ) = 0 25 = 0 error_{(A=T)} = \frac{0}{25} = 0 error(A=T)=250=0
      e r r o r ( A = F ) = 0 25 = 0 error_{(A=F)} = \frac{0}{25} = 0 error(A=F)=250=0

      分类错误率的增益为:
      Δ A = e r r o r 0 − 25 50 e r r o r ( A = T ) − 25 50 e r r o r ( A = F ) = 0.5 \Delta_A = error_0 − \frac{25}{50}error_{(A=T)} − \frac{25}{50}error_{(A=F)} = 0.5 ΔA=error05025error(A=T)5025error(A=F)=0.5

    • 按照B划分

      B = TB = F
      +520
      -205

      e r r o r ( B = T ) = 5 25 = 0.2 error_{(B=T)} = \frac{5}{25} = 0.2 error(B=T)=255=0.2
      e r r o r ( B = F ) = 5 25 = 0.2 error_{(B=F)} = \frac{5}{25} = 0.2 error(B=F)=255=0.2

      分类错误率的增益为:
      Δ B = e r r o r 0 − 25 50 e r r o r ( B = T ) − 25 50 e r r o r ( B = F ) = 0.3 \Delta_B = error_0 − \frac{25}{50}error_{(B=T)} − \frac{25}{50}error_{(B=F)} = 0.3 ΔB=error05025error(B=T)5025error(B=F)=0.3

    所以,选择A划分

  • C = F C = F C=F

    划分前的分类错误率为: e r r o r 0 = 25 50 = 0.5 error_0= \frac{25}{50} = 0.5 error0=5025=0.5

    • 按照A划分

      A = TA = F
      +025
      -025

      e r r o r ( A = T ) = 0 25 = 0 error_{(A=T)} = \frac{0}{25} = 0 error(A=T)=250=0
      e r r o r ( A = F ) = 25 50 = 0.5 error_{(A=F)} = \frac{25}{50} = 0.5 error(A=F)=5025=0.5

      分类错误率的增益为:
      Δ A = e r r o r 0 − 0 50 e r r o r ( A = T ) − 50 50 e r r o r ( A = F ) = 0 \Delta_A = error_0 − \frac{0}{50}error_{(A=T)} − \frac{50}{50}error_{(A=F)} = 0 ΔA=error0500error(A=T)5050error(A=F)=0

    • 按照B划分

      B = TB = F
      +250
      -025

      e r r o r ( B = T ) = 0 25 = 0 error_{(B=T)} = \frac{0}{25} = 0 error(B=T)=250=0
      e r r o r ( B = F ) = 0 25 = 0 error_{(B=F)} = \frac{0}{25} = 0 error(B=F)=250=0

      分类错误率的增益为:
      Δ B = e r r o r 0 − 25 50 e r r o r ( B = T ) − 25 50 e r r o r ( B = F ) = 0.5 \Delta_B = error_0 − \frac{25}{50}error_{(B=T)} − \frac{25}{50}error_{(B=F)} = 0.5 ΔB=error05025error(B=T)5025error(B=F)=0.5

    所以,选择B划分

总错误率为: e r r o r = 0 error= 0 error=0


e

有前几问的结果可以看出:贪心法并不一定能产生最优决策树。


5

a

乐观方法的泛化错误率: e r r o r = 3 10 = 0.3 error=\frac{3}{10}=0.3 error=103=0.3


b

悲观方法的泛化错误率: e r r o r = 3 + 4 × 0.5 10 = 0.5 error=\frac{3+4\times0.5}{10}=0.5 error=103+4×0.5=0.5


c

e r r o r = 4 5 = 0.8 error=\frac{4}{5}=0.8 error=54=0.8


6

因为有16个属性,所以为每个内部结点编码的代价为: l o g 2 ( 16 ) = 4 log_2(16) = 4 log2(16)=4
因为有3个类别,所以为每个叶结点编码的代价为: ⌈ l o g 2 ( 3 ) ⌉ = 2 \lceil log_2(3)\rceil = 2 log2(3)⌉=2
为每个错误编码的代价为: l o g 2 ( n ) log_2(n) log2(n)

所以:
决策树(a)的总代价为: 2 × 4 + 3 × 2 + 7 × l o g 2 n = 14 + 7 ⋅ l o g 2 n 2 \times 4 + 3 \times 2 + 7 \times log_2 n = 14 + 7 \cdot log_2n 2×4+3×2+7×log2n=14+7log2n
决策树(b)的总代价为: 4 × 4 + 5 × 2 + 4 × l o g 2 n = 26 + 4 ⋅ l o g 2 n 4 \times 4 + 5 \times 2 + 4 \times log_2 n = 26 + 4 \cdot log_2 n 4×4+5×2+4×log2n=26+4log2n

所以:
n < 16 n < 16 n<16时,(a)更好
n > 16 n > 16 n>16时,(b)更好


7

a

根据表3.7中的准确率,我认为,决策树 T 10 T_{10} T10 在未知实例上有更好的性能。
因为我认为决策树 T 10 T_{10} T10 在泛化到新实例时可能更可靠,并且可能更少地受到过拟合的影响,虽然决策树 T 100 T_{100} T100 具有更多的叶节点和更复杂的结构,但它在数据集B上的性能相对较差,这可能意味着它过度拟合了数据集A中的特定模式,而这些模式在数据集B中并不适用。所以我会选择决策树 T 10 T_{10} T10


b

T 10 T_{10} T10 在数据集(A+B)上的准确率为 0.85 0.85 0.85,而 T 100 T_{100} T100 在数据集(A+B)上的准确率为 0.87 0.87 0.87,所以我会选择决策树 T 100 T_{100} T100进行分类。
因为相比之下,决策树 T 10 T_{10} T10 的准确率在整个数据集上略低。这可能表示决策树 T 10 T_{10} T10 在整个数据集上的性能相对较差,而决策树 T 100 T_{100} T100 在整个数据集上的性能相对更好。


8

分类器决策树朴素贝叶斯支持向量机
决策树0 - 0 - 239 - 3 - 112 - 7 - 14
朴素贝叶斯3 - 9 - 110 - 0 - 230 - 8 - 15
支持向量机7 - 2 - 148 - 0 - 150 - 0 - 23

  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值