机器学习之决策树(DecisionTree)

决策树中选择哪一个特征进行分裂,称之为特征选择。
特征选择是找出某一个特征使得分裂后两边的样本都有最好的“归宿”,即左边分支的样本属于一个类别、右边分支的样本属于另外一个类别,左边和右边分支包含的样本尽可能分属同一类别,此时分裂节点的纯度(purity)高,能够表征这种纯度高低的常用指标是信息熵(information entropy)。
假设有一个数据集 D D D,包含 N N N个样本( n = 1 , 2 , 3 , . . . , N n=1,2,3,...,N n=1,2,3,...,N),每一个样本有 k k k个属性( k = 1 , 2 , 3 , . . . , K k=1,2,3,...,K k=1,2,3,...,K),样本共计有 C C C个类别( c = 1 , 2 , 3 , . . . , C c=1,2,3,...,C c=1,2,3,...,C),则 D D D的信息熵可定义为:
E n t r o p y ( D ) = − ∑ c = 1 C p c log ⁡ p c = − ∑ c = 1 C N c N log ⁡ N c N (1) Entropy(D)=-\sum_{c=1}^{C}p_c \log {p_c}=-\sum_{c=1}^{C}\frac{N_c}{N} \log \frac{N_c}{N}\tag{1} Entropy(D)=c=1Cpclogpc=c=1CNNclogNNc(1)
( 1 ) (1) (1)中, p c p_c pc表示数据集 D D D中第 c c c类样本所占的比例, N c N_c Nc表示第 c c c类样本的数量, E n t r o p y ( D ) Entropy(D) Entropy(D)的值越小,则 D D D的纯度越高。

假设离散属性 A A A有个取值 M M M m = 1 , 2 , 3 , . . . , M m=1,2,3,...,M m=1,2,3,...,M),若使用属性A对样本集 D D D进行分裂,则会将数据集划分为 M M M个子集 D m D^m Dm,每个子集包含的样本数记为 N m N_m Nm,根据式 ( 1 ) (1) (1)计算出 D m D^m Dm的信息熵,考虑到不同的子集所包含的样本数不同,分别给每个子集赋予权重 N m / N N_m/N Nm/N,计算属性A对于样本集 D D D进行划分所得的信息增益(information gain):
G a i n ( D , A ) = E n t r o p y ( D ) − ∑ m = 1 M N m N E n t r o p y ( D m ) = E n t r o p y ( D ) − ∑ m = 1 M N m N ∑ c = 1 C ( − N m c N m log ⁡ N m c N m ) (2) \begin{aligned} Gain(D,A)&=Entropy(D)-\sum_{m=1}^{M}\frac{N_m}{N}Entropy(D^m)\\ &=Entropy(D)-\sum_{m=1}^{M}\frac{N_m}{N}\sum_{c=1}^{C}(-\frac{N_{mc}}{N_m}\log\frac{N_{mc}}{N_m})\tag{2} \end{aligned} Gain(D,A)=Entropy(D)m=1MNNmEntropy(Dm)=Entropy(D)m=1MNNmc=1C(NmNmclogNmNmc)(2)
( 2 ) (2) (2)中, N m c N_{mc} Nmc表示子集 D m D^m Dm中类别为 c c c的样本的个数。

表1 西瓜数据集
编号色泽根蒂敲声纹理脐部触感好瓜
1青绿蜷缩浊响清晰凹陷硬滑
2乌黑蜷缩沉闷清晰凹陷硬滑
3乌黑蜷缩浊响清晰凹陷硬滑
4青绿蜷缩沉闷清晰凹陷硬滑
5浅白蜷缩浊响清晰凹陷硬滑
6青绿稍蜷浊响清晰稍凹软粘
7乌黑稍蜷浊响稍糊稍凹软粘
8乌黑稍蜷浊响清晰稍凹硬滑
9乌黑稍蜷沉闷稍糊稍凹硬滑
10青绿硬挺清脆清晰平坦软粘
11浅白硬挺清脆模糊平坦硬滑
12浅白蜷缩浊响模糊平坦软粘
13青绿稍蜷浊响稍糊凹陷硬滑
14浅白稍蜷沉闷稍糊凹陷硬滑
15乌黑稍蜷浊响清晰稍凹软粘
16浅白蜷缩浊响模糊平坦硬滑
17青绿蜷缩沉闷稍糊稍凹硬滑

以表1中的西瓜数据集为例,数据集包含17个样本( n = 1 , 2 , 3 , . . . , 17 n=1,2,3,...,17 n=1,2,3,...,17),每个样本有6个属性( k = 1 , 2 , 3 , . . . , 6 k=1,2,3,...,6 k=1,2,3,...,6),样本共计有2个类别( c = 是 , 否 c=是,否 c=,)。

1.17个样本中,好瓜样本有8个、差瓜样本有9个,数据集 D D D的信息熵为:
E n t r o p y ( D ) = − 8 17 log ⁡ 8 17 − 9 17 log ⁡ 9 17 = 0.9975 (3) Entropy(D)=-\frac{8}{17} \log \frac{8}{17}-\frac{9}{17} \log \frac{9}{17}=0.9975\tag{3} Entropy(D)=178log178179log179=0.9975(3)

2.计算属性集合{色泽, 根蒂, 敲声, 纹理, 脐部, 触感}中每个属性的信息增益,以属性"触感"为例,有{硬滑, 软粘}两个取值:

  • D 1 D^1 D1(触感=硬滑):包含编号为{1,2,3,4,5,8,9,11,13,14,16,17}的12个样本,其中好瓜有{1,2,3,4,5,8}的6个样本、差瓜有{9,11,13,14,16,17}的6个样本;

  • D 2 D^2 D2(触感=软粘):{6,7,10,12,15}的5个样本,其中好瓜有{6,7}的2个样本、差瓜有{10,12,15}的3个样本。

    根据式 ( 1 ) (1) (1)计算上述两个子集的信息熵:
    E n t r o p y ( D 1 ) = − 6 12 log ⁡ 6 12 − 6 12 log ⁡ 6 12 = 1.000 E n t r o p y ( D 2 ) = − 2 5 log ⁡ 2 5 − 3 5 log ⁡ 3 5 = 0.9709 \begin{aligned} Entropy(D^1)&=-\frac{6}{12} \log \frac{6}{12}-\frac{6}{12} \log \frac{6}{12}=1.000\\ Entropy(D^2)&=-\frac{2}{5} \log \frac{2}{5}-\frac{3}{5} \log \frac{3}{5}=0.9709 \end{aligned} Entropy(D1)Entropy(D2)=126log126126log126=1.000=52log5253log53=0.9709

3.根据式 ( 2 ) (2) (2)计算属性"触感"的信息增益:
G a i n ( D , 触感 ) = E n t r o p y ( D ) − ∑ m = 1 M N m N E n t r o p y ( D m ) = 0.9975 − ( 12 17 × 1.0000 + 5 17 × 0.9709 ) = 0.0061 \begin{aligned} Gain(D,触感)&=Entropy(D)-\sum_{m=1}^{M}\frac{N_m}{N}Entropy(D^m)\\ &=0.9975-(\frac{12}{17}\times1.0000+\frac{5}{17}\times0.9709)\\ &=0.0061 \end{aligned} Gain(D,触感)=Entropy(D)m=1MNNmEntropy(Dm)=0.9975(1712×1.0000+175×0.9709)=0.0061
4.根据式 ( 2 ) (2) (2)计算其他属性的信息增益:
G a i n ( D , 色泽 ) = 0.9975 − [ 6 17 × E n t r o p y ( 色泽 = 青绿 ) + 6 17 × E n t r o p y ( 色泽 = 乌黑 ) + 5 17 × E n t r o p y ( 色泽 = 浅白 ) ] = 0.9975 − [ 6 17 × ( − ( 3 6 log ⁡ 3 6 + 3 6 log ⁡ 3 6 ) ) + 6 17 × ( − ( 4 6 log ⁡ 4 6 + 2 6 log ⁡ 2 6 ) ) + 5 17 × ( − ( 1 5 log ⁡ 1 5 + 4 5 log ⁡ 4 5 ) ) ] = 0.1081 G a i n ( D , 根蒂 ) = 0.9975 − [ 8 17 × E n t r o p y ( 根蒂 = 蜷缩 ) + 7 17 × E n t r o p y ( 根蒂 = 稍蜷 ) + 2 17 × E n t r o p y ( 根蒂 = 硬挺 ) ] = 0.9975 − [ 8 17 × ( − ( 5 8 log ⁡ 5 8 + 3 8 log ⁡ 3 8 ) ) + 7 17 × ( − ( 3 7 log ⁡ 3 7 + 4 7 log ⁡ 4 7 ) ) + 2 17 × ( − ( 0 2 log ⁡ 0 2 + 2 2 log ⁡ 2 2 ) ) ] = 0.1426 G a i n ( D , 敲声 ) = 0.9975 − [ 10 17 × E n t r o p y ( 敲声 = 浊响 ) + 5 17 × E n t r o p y ( 敲声 = 沉闷 ) + 2 17 × E n t r o p y ( 敲声 = 清脆 ) ] = 0.9975 − [ 10 17 × ( − ( 6 10 log ⁡ 6 10 + 4 10 log ⁡ 4 10 ) ) + 5 17 × ( − ( 2 5 log ⁡ 2 5 + 3 5 log ⁡ 3 5 ) ) + 2 17 × ( − ( 0 2 log ⁡ 0 2 + 2 2 log ⁡ 2 2 ) ) ] = 0.1407 G a i n ( D , 纹理 ) = 0.9975 − [ 9 17 × E n t r o p y ( 纹理 = 清晰 ) + 5 17 × E n t r o p y ( 纹理 = 稍糊 ) + 3 17 × E n t r o p y ( 纹理 = 模糊 ) ] = 0.9975 − [ 9 17 × ( − ( 7 9 log ⁡ 7 9 + 2 9 log ⁡ 2 9 ) ) + 5 17 × ( − ( 1 5 log ⁡ 1 5 + 4 5 log ⁡ 4 5 ) ) + 3 17 × ( − ( 0 3 log ⁡ 0 3 + 3 3 log ⁡ 3 3 ) ) ] = 0.3805 G a i n ( D , 脐部 ) = 0.9975 − [ 7 17 × E n t r o p y ( 脐部 = 凹陷 ) + 6 17 × E n t r o p y ( 脐部 = 稍凹 ) + 3 17 × E n t r o p y ( 脐部 = 平坦 ) ] = 0.9975 − [ 7 17 × ( − ( 5 7 log ⁡ 5 7 + 2 7 log ⁡ 2 7 ) ) + 6 17 × ( − ( 3 6 log ⁡ 3 6 + 3 6 log ⁡ 3 6 ) ) + 4 17 × ( − ( 0 4 log ⁡ 0 4 + 4 4 log ⁡ 4 4 ) ) ] = 0.2891 \begin{aligned} Gain(D,色泽)&=0.9975-[\frac{6}{17}\times Entropy(色泽=青绿)+\frac{6}{17}\times Entropy(色泽=乌黑)+\frac{5}{17}\times Entropy(色泽=浅白)]\\ &=0.9975-[\frac{6}{17}\times(-(\frac{3}{6}\log\frac{3}{6}+\frac{3}{6}\log\frac{3}{6}))+\frac{6}{17}\times(-(\frac{4}{6}\log\frac{4}{6}+\frac{2}{6}\log\frac{2}{6}))+\frac{5}{17}\times(-(\frac{1}{5}\log\frac{1}{5}+\frac{4}{5}\log\frac{4}{5}))]\\ &=0.1081\\ Gain(D,根蒂)&=0.9975-[\frac{8}{17}\times Entropy(根蒂=蜷缩)+\frac{7}{17}\times Entropy(根蒂=稍蜷)+\frac{2}{17}\times Entropy(根蒂=硬挺)]\\ &=0.9975-[\frac{8}{17}\times(-(\frac{5}{8}\log\frac{5}{8}+\frac{3}{8}\log\frac{3}{8}))+\frac{7}{17}\times(-(\frac{3}{7}\log\frac{3}{7}+\frac{4}{7}\log\frac{4}{7}))+\frac{2}{17}\times(-(\frac{0}{2}\log\frac{0}{2}+\frac{2}{2}\log\frac{2}{2}))]\\ &=0.1426\\ Gain(D,敲声)&=0.9975-[\frac{10}{17}\times Entropy(敲声=浊响)+\frac{5}{17}\times Entropy(敲声=沉闷)+\frac{2}{17}\times Entropy(敲声=清脆)]\\ &=0.9975-[\frac{10}{17}\times(-(\frac{6}{10}\log\frac{6}{10}+\frac{4}{10}\log\frac{4}{10}))+\frac{5}{17}\times(-(\frac{2}{5}\log\frac{2}{5}+\frac{3}{5}\log\frac{3}{5}))+\frac{2}{17}\times(-(\frac{0}{2}\log\frac{0}{2}+\frac{2}{2}\log\frac{2}{2}))]\\ &=0.1407\\ Gain(D,纹理)&=0.9975-[\frac{9}{17}\times Entropy(纹理=清晰)+\frac{5}{17}\times Entropy(纹理=稍糊)+\frac{3}{17}\times Entropy(纹理=模糊)]\\ &=0.9975-[\frac{9}{17}\times(-(\frac{7}{9}\log\frac{7}{9}+\frac{2}{9}\log\frac{2}{9}))+\frac{5}{17}\times(-(\frac{1}{5}\log\frac{1}{5}+\frac{4}{5}\log\frac{4}{5}))+\frac{3}{17}\times(-(\frac{0}{3}\log\frac{0}{3}+\frac{3}{3}\log\frac{3}{3}))]\\ &=0.3805\\ Gain(D,脐部)&=0.9975-[\frac{7}{17}\times Entropy(脐部=凹陷)+\frac{6}{17}\times Entropy(脐部=稍凹)+\frac{3}{17}\times Entropy(脐部=平坦)]\\ &=0.9975-[\frac{7}{17}\times(-(\frac{5}{7}\log\frac{5}{7}+\frac{2}{7}\log\frac{2}{7}))+\frac{6}{17}\times(-(\frac{3}{6}\log\frac{3}{6}+\frac{3}{6}\log\frac{3}{6}))+\frac{4}{17}\times(-(\frac{0}{4}\log\frac{0}{4}+\frac{4}{4}\log\frac{4}{4}))]\\ &=0.2891\\ \end{aligned} Gain(D,色泽)Gain(D,根蒂)Gain(D,敲声)Gain(D,纹理)Gain(D,脐部)=0.9975[176×Entropy(色泽=青绿)+176×Entropy(色泽=乌黑)+175×Entropy(色泽=浅白)]=0.9975[176×((63log63+63log63))+176×((64log64+62log62))+175×((51log51+54log54))]=0.1081=0.9975[178×Entropy(根蒂=蜷缩)+177×Entropy(根蒂=稍蜷)+172×Entropy(根蒂=硬挺)]=0.9975[178×((85log85+83log83))+177×((73log73+74log74))+172×((20log20+22log22))]=0.1426=0.9975[1710×Entropy(敲声=浊响)+175×Entropy(敲声=沉闷)+172×Entropy(敲声=清脆)]=0.9975[1710×((106log106+104log104))+175×((52log52+53log53))+172×((20log20+22log22))]=0.1407=0.9975[179×Entropy(纹理=清晰)+175×Entropy(纹理=稍糊)+173×Entropy(纹理=模糊)]=0.9975[179×((97log97+92log92))+175×((51log51+54log54))+173×((30log30+33log33))]=0.3805=0.9975[177×Entropy(脐部=凹陷)+176×Entropy(脐部=稍凹)+173×Entropy(脐部=平坦)]=0.9975[177×((75log75+72log72))+176×((63log63+63log63))+174×((40log40+44log44))]=0.2891
上述计算过程中有一种特殊情况:某属性(根蒂=硬挺、敲声=清脆、纹理=模糊、脐部=平坦)分裂时,属性某个取值对应的样本全是反例,正例数量为0,此时其信息熵为:
E = − ( 1 × log ⁡ ( 1 ) + 0 × log ⁡ ( 0 ) ) E=-(1\times \log(1)+0\times \log(0)) E=(1×log(1)+0×log(0))
在数学上,由于 lim ⁡ x → 0 x log ⁡ ( x ) = 0 \lim_{x→0}x\log(x)=0 limx0xlog(x)=0,因此上述情况的信息熵为0

5.根据最大信息增益选择分裂属性,即选择属性"纹理"进行分裂,分裂后的样本分布:

属性: 取值样本好瓜差瓜信息熵
纹理:清晰{1,2,3,4,5,6,8,10,15}{1,2,3,4,5,6,8}{10,15} E ( 纹理 = 清晰 ) = − ( 7 9 log ⁡ 7 9 + 2 9 log ⁡ 2 9 ) = 0.7642 E(纹理=清晰)=-(\frac{7}{9}\log\frac{7}{9}+\frac{2}{9}\log\frac{2}{9})=0.7642 E(纹理=清晰)=(97log97+92log92)=0.7642
纹理:稍糊{7,9,13,14,17}{7}{9,13,14,17} E ( 纹理 = 稍糊 ) = − ( 1 5 log ⁡ 1 5 + 4 5 log ⁡ 4 5 ) = 0.7219 E(纹理=稍糊)=-(\frac{1}{5}\log\frac{1}{5}+\frac{4}{5}\log\frac{4}{5})=0.7219 E(纹理=稍糊)=(51log51+54log54)=0.7219
纹理:模糊{11,12,16}{}{11,12,16} E ( 纹理 = 模糊 ) = − ( 0 3 log ⁡ 0 3 + 3 3 log ⁡ 3 3 ) = 0.0000 E(纹理=模糊 )=-(\frac{0}{3}\log\frac{0}{3}+\frac{3}{3}\log\frac{3}{3})=0.0000 E(纹理=模糊)=(30log30+33log33)=0.0000
表2 西瓜数据集——纹理=清晰
编号色泽根蒂敲声纹理脐部触感好瓜
1青绿蜷缩浊响清晰凹陷硬滑
2乌黑蜷缩沉闷清晰凹陷硬滑
3乌黑蜷缩浊响清晰凹陷硬滑
4青绿蜷缩沉闷清晰凹陷硬滑
5浅白蜷缩浊响清晰凹陷硬滑
6青绿稍蜷浊响清晰稍凹软粘
8乌黑稍蜷浊响清晰稍凹硬滑
10青绿硬挺清脆清晰平坦软粘
15乌黑稍蜷浊响清晰稍凹软粘

G a i n ( D 纹理 = 清晰 , 色泽 ) = 0.7642 − [ 4 9 × E n t r o p y ( 色泽 = 青绿 ) + 4 9 × E n t r o p y ( 色泽 = 乌黑 ) + 1 9 × E n t r o p y ( 色泽 = 浅白 ) ] = 0.7642 − [ 4 9 × ( − ( 3 4 log ⁡ 3 4 + 1 4 log ⁡ 1 4 ) ) + 4 9 × ( − ( 3 4 log ⁡ 3 4 + 1 4 log ⁡ 1 4 ) ) + 1 9 × ( − ( 1 1 log ⁡ 1 1 + 0 1 log ⁡ 0 1 ) ) ] = 0.0430 G a i n ( D 纹理 = 清晰 , 根蒂 ) = 0.7642 − [ 5 9 × E n t r o p y ( 根蒂 = 蜷缩 ) + 3 9 × E n t r o p y ( 根蒂 = 稍蜷 ) + 1 9 × E n t r o p y ( 根蒂 = 硬挺 ) ] = 0.7642 − [ 5 9 × ( − ( 5 5 log ⁡ 5 5 + 0 0 log ⁡ 0 0 ) ) + 3 9 × ( − ( 2 3 log ⁡ 2 3 + 1 3 log ⁡ 1 3 ) ) + 1 9 × ( − ( 0 1 log ⁡ 0 1 + 1 1 log ⁡ 1 1 ) ) ] = 0.4581 G a i n ( D 纹理 = 清晰 , 敲声 ) = 0.7642 − [ 6 9 × E n t r o p y ( 敲声 = 浊响 ) + 2 9 × E n t r o p y ( 敲声 = 沉闷 ) + 1 9 × E n t r o p y ( 敲声 = 清脆 ) ] = 0.7642 − [ 6 9 × ( − ( 5 6 log ⁡ 5 6 + 1 6 log ⁡ 1 6 ) ) + 2 9 × ( − ( 2 2 log ⁡ 2 2 + 0 0 log ⁡ 0 0 ) ) + 1 9 × ( − ( 0 0 log ⁡ 0 0 + 1 1 log ⁡ 1 1 ) ) ] = 0.3308 G a i n ( D 纹理 = 清晰 , 脐部 ) = 0.7642 − [ 5 9 × E n t r o p y ( 脐部 = 凹陷 ) + 3 9 × E n t r o p y ( 脐部 = 稍凹 ) + 1 9 × E n t r o p y ( 脐部 = 平坦 ) ] = 0.7642 − [ 5 9 × ( − ( 5 5 log ⁡ 5 5 + 0 5 log ⁡ 0 5 ) ) + 3 9 × ( − ( 2 3 log ⁡ 2 3 + 1 3 log ⁡ 1 3 ) ) + 1 9 × ( − ( 0 0 log ⁡ 0 0 + 1 1 log ⁡ 1 1 ) ) ] = 0.4581 G a i n ( D 纹理 = 清晰 , 触感 ) = 0.7642 − [ 6 9 × E n t r o p y ( 触感 = 硬滑 ) + 3 9 × E n t r o p y ( 触感 = 软粘 ) ] = 0.7642 − [ 6 9 × ( − ( 6 6 log ⁡ 6 6 + 0 6 log ⁡ 0 6 ) ) + 3 9 × ( − ( 2 3 log ⁡ 2 3 + 1 3 log ⁡ 1 3 ) ) ] = 0.4581 \begin{aligned} Gain(D^{纹理=清晰},色泽)&=0.7642-[\frac{4}{9}\times Entropy(色泽=青绿)+\frac{4}{9}\times Entropy(色泽=乌黑)+\frac{1}{9}\times Entropy(色泽=浅白)]\\ &=0.7642-[\frac{4}{9}\times(-(\frac{3}{4}\log\frac{3}{4}+\frac{1}{4}\log\frac{1}{4}))+\frac{4}{9}\times(-(\frac{3}{4}\log\frac{3}{4}+\frac{1}{4}\log\frac{1}{4}))+\frac{1}{9}\times(-(\frac{1}{1}\log\frac{1}{1}+\frac{0}{1}\log\frac{0}{1}))]\\ &=0.0430\\ Gain(D^{纹理=清晰},根蒂)&=0.7642-[\frac{5}{9}\times Entropy(根蒂=蜷缩)+\frac{3}{9}\times Entropy(根蒂=稍蜷)+\frac{1}{9}\times Entropy(根蒂=硬挺)]\\ &=0.7642-[\frac{5}{9}\times(-(\frac{5}{5}\log\frac{5}{5}+\frac{0}{0}\log\frac{0}{0}))+\frac{3}{9}\times(-(\frac{2}{3}\log\frac{2}{3}+\frac{1}{3}\log\frac{1}{3}))+\frac{1}{9}\times(-(\frac{0}{1}\log\frac{0}{1}+\frac{1}{1}\log\frac{1}{1}))]\\ &=0.4581\\ Gain(D^{纹理=清晰},敲声)&=0.7642-[\frac{6}{9}\times Entropy(敲声=浊响)+\frac{2}{9}\times Entropy(敲声=沉闷)+\frac{1}{9}\times Entropy(敲声=清脆)]\\ &=0.7642-[\frac{6}{9}\times(-(\frac{5}{6}\log\frac{5}{6}+\frac{1}{6}\log\frac{1}{6}))+\frac{2}{9}\times(-(\frac{2}{2}\log\frac{2}{2}+\frac{0}{0}\log\frac{0}{0}))+\frac{1}{9}\times(-(\frac{0}{0}\log\frac{0}{0}+\frac{1}{1}\log\frac{1}{1}))]\\ &=0.3308\\ Gain(D^{纹理=清晰},脐部)&=0.7642-[\frac{5}{9}\times Entropy(脐部=凹陷)+\frac{3}{9}\times Entropy(脐部=稍凹)+\frac{1}{9}\times Entropy(脐部=平坦)]\\ &=0.7642-[\frac{5}{9}\times(-(\frac{5}{5}\log\frac{5}{5}+\frac{0}{5}\log\frac{0}{5}))+\frac{3}{9}\times(-(\frac{2}{3}\log\frac{2}{3}+\frac{1}{3}\log\frac{1}{3}))+\frac{1}{9}\times(-(\frac{0}{0}\log\frac{0}{0}+\frac{1}{1}\log\frac{1}{1}))]\\ &=0.4581\\ Gain(D^{纹理=清晰},触感)&=0.7642-[\frac{6}{9}\times Entropy(触感=硬滑)+\frac{3}{9}\times Entropy(触感=软粘)]\\ &=0.7642-[\frac{6}{9}\times(-(\frac{6}{6}\log\frac{6}{6}+\frac{0}{6}\log\frac{0}{6}))+\frac{3}{9}\times(-(\frac{2}{3}\log\frac{2}{3}+\frac{1}{3}\log\frac{1}{3}))]\\ &=0.4581\\ \end{aligned} Gain(D纹理=清晰,色泽)Gain(D纹理=清晰,根蒂)Gain(D纹理=清晰,敲声)Gain(D纹理=清晰,脐部)Gain(D纹理=清晰,触感)=0.7642[94×Entropy(色泽=青绿)+94×Entropy(色泽=乌黑)+91×Entropy(色泽=浅白)]=0.7642[94×((43log43+41log41))+94×((43log43+41log41))+91×((11log11+10log10))]=0.0430=0.7642[95×Entropy(根蒂=蜷缩)+93×Entropy(根蒂=稍蜷)+91×Entropy(根蒂=硬挺)]=0.7642[95×((55log55+00log00))+93×((32log32+31log31))+91×((10log10+11log11))]=0.4581=0.7642[96×Entropy(敲声=浊响)+92×Entropy(敲声=沉闷)+91×Entropy(敲声=清脆)]=0.7642[96×((65log65+61log61))+92×((22log22+00log00))+91×((00log00+11log11))]=0.3308=0.7642[95×Entropy(脐部=凹陷)+93×Entropy(脐部=稍凹)+91×Entropy(脐部=平坦)]=0.7642[95×((55log55+50log50))+93×((32log32+31log31))+91×((00log00+11log11))]=0.4581=0.7642[96×Entropy(触感=硬滑)+93×Entropy(触感=软粘)]=0.7642[96×((66log66+60log60))+93×((32log32+31log31))]=0.4581
“根蒂”、“脐部”、"触感"3个属性的信息增益均达到最大,可任选其一继续分裂。

表3 西瓜数据集——纹理=稍糊
编号色泽根蒂敲声纹理脐部触感好瓜
7乌黑稍蜷浊响稍糊稍凹软粘
9乌黑稍蜷沉闷稍糊稍凹硬滑
13青绿稍蜷浊响稍糊凹陷硬滑
14浅白稍蜷沉闷稍糊凹陷硬滑
17青绿蜷缩沉闷稍糊稍凹硬滑

G a i n ( D 纹理 = 稍糊 , 色泽 ) = 0.7219 − [ 4 5 × E n t r o p y ( 色泽 = 青绿 ) + 4 5 × E n t r o p y ( 色泽 = 乌黑 ) + 1 5 × E n t r o p y ( 色泽 = 浅白 ) ] = 0.7219 − [ 2 5 × ( − ( 0 2 log ⁡ 0 2 + 2 2 log ⁡ 2 2 ) ) + 2 5 × ( − ( 1 2 log ⁡ 1 2 + 1 2 log ⁡ 1 2 ) ) + 1 5 × ( − ( 0 1 log ⁡ 0 1 + 1 1 log ⁡ 1 1 ) ) ] = 0.3219 G a i n ( D 纹理 = 稍糊 , 根蒂 ) = 0.7219 − [ 4 5 × E n t r o p y ( 根蒂 = 稍蜷 ) + 1 5 × E n t r o p y ( 根蒂 = 蜷缩 ) ] = 0.7219 − [ 4 5 × ( − ( 1 4 log ⁡ 1 4 + 3 4 log ⁡ 3 4 ) ) + 1 5 × ( − ( 0 1 log ⁡ 0 1 + 1 1 log ⁡ 1 1 ) ) ] = 0.0728 G a i n ( D 纹理 = 稍糊 , 敲声 ) = 0.7219 − [ 2 3 × E n t r o p y ( 敲声 = 浊响 ) + 3 5 × E n t r o p y ( 敲声 = 沉闷 ) ] = 0.7219 − [ 2 5 × ( − ( 1 2 log ⁡ 1 2 + 1 2 log ⁡ 1 2 ) ) + 3 5 × ( − ( 0 3 log ⁡ 0 3 + 3 3 log ⁡ 3 3 ) ) ] = 0.3219 G a i n ( D 纹理 = 稍糊 , 脐部 ) = 0.7219 − [ 3 5 × E n t r o p y ( 脐部 = 稍凹 ) + 2 5 × E n t r o p y ( 脐部 = 凹陷 ) ] = 0.7219 − [ 3 5 × ( − ( 1 3 log ⁡ 1 3 + 2 3 log ⁡ 2 3 ) ) + 2 5 × ( − ( 0 2 log ⁡ 0 2 + 2 2 log ⁡ 2 2 ) ) ] = 0.1709 G a i n ( D 纹理 = 稍糊 , 触感 ) = 0.7219 − [ 1 5 × E n t r o p y ( 触感 = 软粘 ) + 4 5 × E n t r o p y ( 触感 = 硬滑 ) ] = 0.7219 − [ 1 5 × ( − ( 1 1 log ⁡ 1 1 + 0 1 log ⁡ 0 1 ) ) + 4 5 × ( − ( 0 4 log ⁡ 0 4 + 4 4 log ⁡ 4 4 ) ) ] = 0.7219 \begin{aligned} Gain(D^{纹理=稍糊},色泽)&=0.7219-[\frac{4}{5}\times Entropy(色泽=青绿)+\frac{4}{5}\times Entropy(色泽=乌黑)+\frac{1}{5}\times Entropy(色泽=浅白)]\\ &=0.7219-[\frac{2}{5}\times(-(\frac{0}{2}\log\frac{0}{2}+\frac{2}{2}\log\frac{2}{2}))+\frac{2}{5}\times(-(\frac{1}{2}\log\frac{1}{2}+\frac{1}{2}\log\frac{1}{2}))+\frac{1}{5}\times(-(\frac{0}{1}\log\frac{0}{1}+\frac{1}{1}\log\frac{1}{1}))]\\ &=0.3219\\ Gain(D^{纹理=稍糊},根蒂)&=0.7219-[\frac{4}{5}\times Entropy(根蒂=稍蜷)+\frac{1}{5}\times Entropy(根蒂=蜷缩)]\\ &=0.7219-[\frac{4}{5}\times(-(\frac{1}{4}\log\frac{1}{4}+\frac{3}{4}\log\frac{3}{4}))+\frac{1}{5}\times(-(\frac{0}{1}\log\frac{0}{1}+\frac{1}{1}\log\frac{1}{1}))]\\ &=0.0728\\ Gain(D^{纹理=稍糊},敲声)&=0.7219-[\frac{2}{3}\times Entropy(敲声=浊响)+\frac{3}{5}\times Entropy(敲声=沉闷)]\\ &=0.7219-[\frac{2}{5}\times(-(\frac{1}{2}\log\frac{1}{2}+\frac{1}{2}\log\frac{1}{2}))+\frac{3}{5}\times(-(\frac{0}{3}\log\frac{0}{3}+\frac{3}{3}\log\frac{3}{3}))]\\ &=0.3219\\ Gain(D^{纹理=稍糊},脐部)&=0.7219-[\frac{3}{5}\times Entropy(脐部=稍凹)+\frac{2}{5}\times Entropy(脐部=凹陷)]\\ &=0.7219-[\frac{3}{5}\times(-(\frac{1}{3}\log\frac{1}{3}+\frac{2}{3}\log\frac{2}{3}))+\frac{2}{5}\times(-(\frac{0}{2}\log\frac{0}{2}+\frac{2}{2}\log\frac{2}{2}))]\\ &=0.1709\\ Gain(D^{纹理=稍糊},触感)&=0.7219-[\frac{1}{5}\times Entropy(触感=软粘)+\frac{4}{5}\times Entropy(触感=硬滑)]\\ &=0.7219-[\frac{1}{5}\times(-(\frac{1}{1}\log\frac{1}{1}+\frac{0}{1}\log\frac{0}{1}))+\frac{4}{5}\times(-(\frac{0}{4}\log\frac{0}{4}+\frac{4}{4}\log\frac{4}{4}))]\\ &=0.7219\\ \end{aligned} Gain(D纹理=稍糊,色泽)Gain(D纹理=稍糊,根蒂)Gain(D纹理=稍糊,敲声)Gain(D纹理=稍糊,脐部)Gain(D纹理=稍糊,触感)=0.7219[54×Entropy(色泽=青绿)+54×Entropy(色泽=乌黑)+51×Entropy(色泽=浅白)]=0.7219[52×((20log20+22log22))+52×((21log21+21log21))+51×((10log10+11log11))]=0.3219=0.7219[54×Entropy(根蒂=稍蜷)+51×Entropy(根蒂=蜷缩)]=0.7219[54×((41log41+43log43))+51×((10log10+11log11))]=0.0728=0.7219[32×Entropy(敲声=浊响)+53×Entropy(敲声=沉闷)]=0.7219[52×((21log21+21log21))+53×((30log30+33log33))]=0.3219=0.7219[53×Entropy(脐部=稍凹)+52×Entropy(脐部=凹陷)]=0.7219[53×((31log31+32log32))+52×((20log20+22log22))]=0.1709=0.7219[51×Entropy(触感=软粘)+54×Entropy(触感=硬滑)]=0.7219[51×((11log11+10log10))+54×((40log40+44log44))]=0.7219
"触感"属性的信息增益达到最大,选择"触感"属性继续分裂。

表4 西瓜数据集——纹理=模糊
编号色泽根蒂敲声纹理脐部触感好瓜
11浅白硬挺清脆模糊平坦硬滑
12浅白蜷缩浊响模糊平坦软粘
16浅白蜷缩浊响模糊平坦硬滑

当前节点包含的样本全属于同一类别,即差瓜,因此无需再分。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/66281.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于PHP的校园新闻发布管理

摘要 近年来,随着互联网技术的迅速发展,人们获取新闻的渠道也变得越来越多样化,已经不再拘束于传统的报纸、期刊、杂志等纸质化的方式,而是通过网络满足了人们获得第一手新闻的愿望,这样更加有助于实现新闻的规范化管…

从玩具到工业控制--51单片机的跨界传奇【3】

在科技的浩瀚宇宙中,51 单片机就像一颗独特的星辰,散发着神秘而迷人的光芒。对于无数电子爱好者而言,点亮 51 单片机上的第一颗 LED 灯,不仅仅是一次简单的操作,更像是开启了一扇通往新世界的大门。这小小的 LED 灯&am…

boss直聘 __zp_stoken__ 逆向分析

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 有相关问题请第一时间头像私信联系我删…

【日志篇】(7.6) ❀ 01. 在macOS下刷新FortiAnalyzer固件 ❀ FortiAnalyzer 日志分析

【简介】FortiAnalyzer 是 Fortinet Security Fabric 安全架构的基础,提供集中日志记录和分析,以及端到端可见性。因此,分析师可以更有效地管理安全状态,将安全流程自动化,并快速响应威胁。具有分析和自动化功能的集成…

Linux 内核自旋锁spinlock(一)

文章目录 前言一、自旋锁1.1 简介1.2 API1.2.1 spin_lock/spin_unlock1.2.2 spin_lock_irq/spin_unlock_irq1.2.3 spin_lock_irqsave/spin_unlock_irqstore1.2.4 spin_lock_bh/spin_unlock_bh1.2.5 补充 二、自选锁原理三、自旋锁在内核的使用3.1 struct file3.2 struct dentry…

【太古新篇,智驭未来】 SFA系统成功上线

经过双方团队的不懈努力与紧密合作,eBest成功帮助香港太古可乐完成了SFA系统的全面上线! 太古可乐,作为饮料行业的佼佼者,一直以来以其卓越的品质和深入人心的品牌形象深受消费者喜爱。然而,在快速变化的市场环境中&am…

Web安全|渗透测试|网络安全

基础入门(P1-P5) p1概念名词 1.1域名 什么是域名? 域名:是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。 什么是二级域名多级域名…

陈萍的设计创新:Kevlin Nexus荣获伦敦设计奖,展示品牌设计的国际化与持续创新

近日,陈萍凭借其创新设计作品 Kevlin Nexus,成功斩获 2024 伦敦设计奖。该奖项旨在表彰全球范围内的优秀设计作品,表彰设计界最完美、最前沿的成就。伦敦设计奖是全球最具权威性和影响力的设计奖项之一,其评选标准以高水准的专业性和严格性著称。作为全球设计界的顶级荣誉,伦敦…

qml DirectionalBlur详解

1、概述 DirectionalBlur是QML(Qt Modeling Language)中用于创建方向模糊效果的一种图形效果类型。它通过对源图像的像素进行模糊处理,产生一种源项目朝着模糊方向移动的感知印象。这种模糊效果被应用到每个像素的两侧,因此设置方…

怎么投稿各大媒体网站?如何快速辨别一家媒体是否适合自己?

在做软文营销时,除去在官号和子账号上投稿外,怎么投稿各大媒体网站是困扰中小企业主的一大难题。没有多余账号、运营成本太高,让不少想做全平台推广的朋友止步于此。为了解决这些问题,今天就让小编来分享一下,怎么在各…

MES设备日志采集工具

永久免费: <下载> <使用说明> 用途 定时全量或增量采集工控机,电脑文件或日志. 优势 开箱即用: 解压直接运行.不需额外下载.管理设备: 后台统一管理客户端.无人值守: 客户端自启动,自更新.稳定安全: 架构简单,兼容性好,通过授权控制访问. 架构 技术架构: Asp…

Formality:参考设计/实现设计以及顶层设计

相关阅读 Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482​​​ Formality存在两个重要的概念&#xff1a;参考设计/实现设计和顶层设计&#xff0c;本文就将对此进行详细阐述。参考设计/实现设计是中两个重要的全局概念&am…

国产编辑器EverEdit - 复制为RTF

1 复制为RTF 1.1 应用背景 在写产品手册或者其他文档时&#xff0c;可能会用到要将产品代码以样例的形式放到文档中&#xff0c;一般的文本编辑器拷贝粘贴到Word中也就是普通文本&#xff0c;没有语法着色&#xff0c;这样感观上不是太好&#xff0c;为了让读者的感观更好一点…

redux 结合 @reduxjs/toolkit 的使用

1&#xff0c;使用步骤 使用React Toolkit 创建 counterStore&#xff08;store目录下&#xff09; --> 为React注入store&#xff08;src下面的index&#xff09; --> React组件使用store中的数据&#xff08;组件&#xff09; 2&#xff0c;例如下面有一个简单加减的…

动态规划【打家劫舍】

今天和大家分享一下动态规划当中的打家劫舍题目&#xff0c;希望在大家刷题的时候提供一些思路 打家劫舍1&#xff1a; 题目链接&#xff1a; 198. 打家劫舍 - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋…

【机器学习实战入门项目】使用Python创建自己的表情符号

深度学习项目入门——让你更接近数据科学的梦想 表情符号或头像是表示非语言暗示的方式。这些暗示已成为在线聊天、产品评论、品牌情感等的重要组成部分。这也促使数据科学领域越来越多的研究致力于表情驱动的故事讲述。 随着计算机视觉和深度学习的进步&#xff0c;现在可以…

BEVFusion论文阅读

1. 简介 融合激光雷达和相机的信息已经变成了3D目标检测的一个标准&#xff0c;当前的方法依赖于激光雷达传感器的点云作为查询&#xff0c;以利用图像空间的特征。然而&#xff0c;人们发现&#xff0c;这种基本假设使得当前的融合框架无法在发生 LiDAR 故障时做出任何预测&a…

OSI七层协议——分层网络协议

OSI七层协议&#xff0c;顾名思义&#xff0c;分为七层&#xff0c;实际上七层是不存在的&#xff0c;是人为的进行划分,让人更好的理解 七层协议包括&#xff0c;物理层(我),数据链路层(据),网络层(网),传输层(传输),会话层(会),表示层(表),应用层(用)(记忆口诀->我会用表…

【Mysql进阶知识】Mysql 程序的介绍、选项在命令行配置文件的使用、选项在配置文件中的语法

目录 一、程序介绍 二、mysqld--mysql服务器介绍 三、mysql - MySQL 命令行客户端 3.1 客户端介绍 3.2 mysql 客户端选项 指定选项的方式 mysql 客户端命令常用选项 在命令行中使用选项 选项(配置)文件 使用方法 选项文件位置及加载顺序 选项文件语法 使用举例&am…

wireshark抓路由器上的包 抓包路由器数据

文字目录 抓包流程概述设置抓包配置选项 设置信道设置无线数据包加密信息设置MAC地址过滤器 抓取联网过程 抓包流程概述 使用Omnipeek软件分析网络数据包的流程大概可以分为以下几个步骤&#xff1a; 扫描路由器信息&#xff0c;确定抓包信道&#xff1b;设置连接路由器的…