決策樹 機器學習,西瓜書p80 表4.2 使用信息增益生成決策樹及后剪枝


使用信息增益構造決策樹,完成后剪枝

1 構造決策樹

1 根結點的選擇

色澤 信息增益

根據色澤划分為 青綠,烏黑,淺白 三個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{2}{4} log_2 \frac{2}{4}+\frac{2}{4} log_2 \frac{2}{4})=1 \\ Ent(D^2) &= -(\frac{1}{4} log_2 \frac{1}{4}+\frac{3}{4} log_2 \frac{3}{4})=0.811 \\ Ent(D^3)&= -(\frac{2}{2} log_2 \frac{2}{2}+\frac{0}{2} log_2 \frac{0}{2})=0 \\ Ent(D)&= -(\frac{5}{10} log_2 \frac{5}{10}+\frac{5}{10} log_2 \frac{5}{10})=1 \\ Gani(D,色澤)&=Ent(D)-\sum_{v=1}^3 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 1 - (\frac{4}{10}\times 1+\frac{4}{10} \times 0.811+\frac{2}{10}\times0) \\ &= 0.2756 \end{aligned} \]

根蒂 信息增益

根據根蒂划分為 蜷縮 稍蜷 硬挺 三個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{2}{5} log_2 \frac{2}{5}+\frac{3}{5} log_2 \frac{3}{5})=0.971 \\ Ent(D^2) &= -(\frac{2}{4} log_2 \frac{2}{4}+\frac{2}{4} log_2 \frac{2}{4})=1 \\ Ent(D^3)&= -(\frac{1}{1} log_2 \frac{1}{1}+\frac{0}{1} log_2 \frac{0}{1})=0 \\ Ent(D)&= -(\frac{5}{10} log_2 \frac{5}{10}+\frac{5}{10} log_2 \frac{5}{10})=1 \\ Gani(D,根蒂)&=Ent(D)-\sum_{v=1}^3 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 1 - (\frac{5}{10}\times 0.971+\frac{4}{10} \times 1+\frac{1}{10}\times0) \\ &= 0.1145 \end{aligned} \]

敲聲 信息增益

根據色澤划分為 濁響,沉悶,清脆 三個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{2}{6} log_2 \frac{2}{6}+\frac{4}{6} log_2 \frac{4}{6})=0.918 \\ Ent(D^2) &= -(\frac{2}{3} log_2 \frac{2}{3}+\frac{1}{3} log_2 \frac{1}{3})=0.918 \\ Ent(D^3)&= -(\frac{1}{1} log_2 \frac{1}{1}+\frac{0}{1} log_2 \frac{0}{1})=0 \\ Ent(D)&= -(\frac{5}{10} log_2 \frac{5}{10}+\frac{5}{10} log_2 \frac{5}{10})=1 \\ Gani(D,敲聲)&=Ent(D)-\sum_{v=1}^3 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 1 - (\frac{6}{10}\times 0.918+\frac{3}{10} \times 0.918+\frac{1}{10}\times0) \\ &=0.2346 \end{aligned} \]

紋理 信息增益

根據 紋理 划分為 清晰 稍糊 模糊 三個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{2}{6} log_2 \frac{2}{6}+\frac{4}{6} log_2 \frac{4}{6})=0.918 \\ Ent(D^2) &= -(\frac{2}{3} log_2 \frac{2}{3}+\frac{1}{3} log_2 \frac{1}{3})=0.918 \\ Ent(D^3)&= -(\frac{1}{1} log_2 \frac{1}{1}+\frac{0}{1} log_2 \frac{0}{1})=0 \\ Ent(D)&= -(\frac{5}{10} log_2 \frac{5}{10}+\frac{5}{10} log_2 \frac{5}{10})=1 \\ Gani(D,紋理)&=Ent(D)-\sum_{v=1}^3 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 1 - (\frac{6}{10}\times 0.918+\frac{3}{10} \times 0.918+\frac{1}{10}\times0) \\ &= 0.2346 \end{aligned} \]

臍部 信息增益

根據色澤划分為 凹陷,稍凹,平坦 三個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{1}{4} log_2 \frac{1}{4}+\frac{3}{4} log_2 \frac{3}{4})=0.811 \\ Ent(D^2) &= -(\frac{2}{4} log_2 \frac{2}{4}+\frac{2}{4} log_2 \frac{2}{4})=1 \\ Ent(D^3)&= -(\frac{2}{2} log_2 \frac{2}{2}+\frac{0}{2} log_2 \frac{0}{2})=0 \\ Ent(D)&= -(\frac{5}{10} log_2 \frac{5}{10}+\frac{5}{10} log_2 \frac{5}{10})=1 \\ Gani(D,臍部)&=Ent(D)-\sum_{v=1}^3 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 1 - (\frac{4}{10}\times 0.811+\frac{4}{10} \times 1+\frac{2}{10}\times0) \\ &= 0.2756 \end{aligned} \]

觸感 信息增益

根據色澤划分為 硬滑,軟粘 兩個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{3}{6} log_2 \frac{3}{6}+\frac{3}{6} log_2 \frac{3}{6})=1 \\ Ent(D^2) &= -(\frac{2}{4} log_2 \frac{2}{4}+\frac{2}{4} log_2 \frac{2}{4})=1 \\ Ent(D)&= -(\frac{5}{10} log_2 \frac{5}{10}+\frac{5}{10} log_2 \frac{5}{10})=1 \\ Gani(D,觸感)&=Ent(D)-\sum_{v=1}^2 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 1 - (\frac{6}{10}\times 1 +\frac{4}{10} \times 1 \\ &= 0 \end{aligned} \]

選擇根結點構建決策樹

\[\begin{aligned} Gain(D,色澤)=0.2756 \ Gain(D,根蒂)=0.1145 \ Gain(D,敲聲)=0.2346 \\ Gain(D,紋理)=0.2346 \ Gain(D,臍部)=0.2756 \ Gain(D,觸感)=0 \end{aligned} \]

比較六個屬性的信息增益大小,選擇臍部作為根結點

則數據集被划分為

image-20211031203958969

2 對分支結點\({1,2,3,14}\)進行划分

色澤 信息增益

根據色澤划分為 青綠,烏黑,淺白 三個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{0}{1} log_2 \frac{0}{1}+\frac{1}{1} log_2 \frac{1}{1})=0 \\ Ent(D^2) &= -(\frac{0}{2} log_2 \frac{0}{2}+\frac{2}{2} log_2 \frac{2}{2})=0 \\ Ent(D^3)&= -(\frac{1}{1} log_2 \frac{1}{1}+\frac{0}{1} log_2 \frac{0}{1})=0 \\ Ent(D)&= -(\frac{1}{4} log_2 \frac{1}{4}+\frac{3}{4} log_2 \frac{3}{4})=0.811 \\ Gani(D,色澤)&=Ent(D)-\sum_{v=1}^3 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 0.811 - (\frac{1}{4}\times 0+\frac{2}{4} \times 0 +\frac{1}{4}\times 0) \\ &= 0.811 \end{aligned} \]

根蒂 信息增益

根據根蒂划分為 蜷縮 稍蜷 兩個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{0}{3} log_2 \frac{0}{3}+\frac{3}{3} log_2 \frac{3}{3})=0 \\ Ent(D^2) &= -(\frac{1}{1} log_2 \frac{1}{1}+\frac{0}{1} log_2 \frac{0}{1})=0 \\ Ent(D)&= -(\frac{1}{4} log_2 \frac{1}{4}+\frac{3}{4} log_2 \frac{3}{4})= 0.811\\ Gani(D,根蒂)&=Ent(D)-\sum_{v=1}^2 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 0.811 - (\frac{3}{4}\times 0 +\frac{1}{4} \times 0) \\ &= 0.811 \end{aligned} \]

敲聲 信息增益

根據色澤划分為 濁響,沉悶 兩個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{0}{2} log_2 \frac{0}{2}+\frac{2}{2} log_2 \frac{2}{2})=0 \\ Ent(D^2) &= -(\frac{1}{2} log_2 \frac{1}{2}+\frac{1}{2} log_2 \frac{1}{2})=1 \\ Ent(D)&= -(\frac{1}{4} log_2 \frac{1}{4}+\frac{3}{4} log_2 \frac{3}{4})=0.811 \\ Gani(D,敲聲)&=Ent(D)-\sum_{v=1}^2 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 0.811 - (\frac{2}{4}\times 0 +\frac{2}{4} \times 1 ) \\ &=0.311 \end{aligned} \]

紋理 信息增益

根據 紋理 划分為 清晰 稍糊 兩個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{0}{3} log_2 \frac{0}{3}+\frac{3}{3} log_2 \frac{3}{3})=0 \\ Ent(D^2) &= -(\frac{1}{1} log_2 \frac{1}{1}+\frac{0}{1} log_2 \frac{0}{1})=0 \\ Ent(D)&= -(\frac{1}{4} log_2 \frac{1}{4}+\frac{3}{4} log_2 \frac{3}{4})=0.811 \\ Gani(D,紋理)&=Ent(D)-\sum_{v=1}^2 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 0.811 - (\frac{3}{4}\times 0+\frac{1}{4} \times 0 ) \\ &= 0.811 \end{aligned} \]

觸感 信息增益

根據觸感划分為 硬滑 一個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{1}{4} log_2 \frac{1}{4}+\frac{3}{4} log_2 \frac{3}{4})=0.811 \\ Ent(D)&= -(\frac{1}{4} log_2 \frac{1}{4}+\frac{3}{4} log_2 \frac{3}{4})= 0.811 \\ Gani(D,觸感)&=Ent(D)-\sum_{v=1}^1 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 0.811 - (\frac{4}{4}\times 0.811 ) \\ &= 0 \end{aligned} \]

選擇分類結點構建決策樹

\[\begin{aligned} Gain(D,色澤)=0.811 \ Gain(D,根蒂)=0.811 \ Gain(D,敲聲)=0.311 \\ Gain(D,紋理)=0.811 \ \ \ Gain(D,觸感)=0 \end{aligned} \]

不妨選擇色澤作為分類依據

形成的決策樹

image-20211031211024832

3 對分支 \({6,7,15,17}\)進行划分

色澤 信息增益

根據色澤划分為 青綠,烏黑 兩個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{1}{2} log_2 \frac{1}{2}+\frac{1}{2} log_2 \frac{1}{2})=1 \\ Ent(D^2) &= -(\frac{1}{2} log_2 \frac{0}{2}+\frac{1}{2} log_2 \frac{1}{2})=1 \\ Ent(D)&= -(\frac{2}{4} log_2 \frac{2}{4}+\frac{2}{4} log_2 \frac{2}{4})= 1 \\ Gani(D,色澤)&=Ent(D)-\sum_{v=1}^2 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 1 - (\frac{2}{4}\times 1+\frac{2}{4} \times 1 ) \\ &= 0 \end{aligned} \]

根蒂 信息增益

根據根蒂划分為 蜷縮 稍蜷 兩個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{1}{3} log_2 \frac{1}{3}+\frac{2}{3} log_2 \frac{2}{3})=0。918\\ Ent(D^2) &= -(\frac{1}{1} log_2 \frac{1}{1}+\frac{0}{1} log_2 \frac{0}{1})=0 \\ Ent(D)&= -(\frac{2}{4} log_2 \frac{2}{4}+\frac{2}{4} log_2 \frac{2}{4})= 1\\ Gani(D,根蒂)&=Ent(D)-\sum_{v=1}^2 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 1 - (\frac{3}{4}\times 0.918 +\frac{1}{4} \times 0) \\ &= 0.3115 \end{aligned} \]

敲聲 信息增益

根據色澤划分為 濁響,沉悶 兩個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{1}{3} log_2 \frac{1}{3}+\frac{2}{3} log_2 \frac{2}{3})=0.918 \\ Ent(D^2) &= -(\frac{1}{1} log_2 \frac{1}{1}+\frac{0}{1} log_2 \frac{0}{1})= 0 \\ Ent(D)&= -(\frac{2}{4} log_2 \frac{2}{4}+\frac{2}{4} log_2 \frac{2}{4})=1 \\ Gani(D,敲聲)&=Ent(D)-\sum_{v=1}^2 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 1 - (\frac{3}{4}\times 0.918 +\frac{1}{4} \times 0 ) \\ &=0.3115 \end{aligned} \]

紋理 信息增益

根據 紋理 划分為 清晰 稍糊 兩個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{1}{2} log_2 \frac{1}{2}+\frac{1}{2} log_2 \frac{1}{2})=1 \\ Ent(D^2) &= -(\frac{1}{2} log_2 \frac{1}{2}+\frac{1}{2} log_2 \frac{1}{2})=1 \\ Ent(D)&= -(\frac{2}{4} log_2 \frac{2}{4}+\frac{2}{4} log_2 \frac{2}{4})=1 \\ Gani(D,紋理)&=Ent(D)-\sum_{v=1}^2 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 1 - (\frac{2}{4}\times 1+\frac{2}{4} \times 1 ) \\ &= 0 \end{aligned} \]

觸感 信息增益

根據觸感划分為 硬滑,軟粘 兩個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{1}{3} log_2 \frac{1}{3}+\frac{2}{3} log_2 \frac{2}{3})=0.918 \\ Ent(D^2) &= -(\frac{1}{1} log_2 \frac{1}{1}+\frac{0}{1} log_2 \frac{0}{1})=0 \\ Ent(D)&= -(\frac{2}{4} log_2 \frac{2}{4}+\frac{2}{4} log_2 \frac{2}{4})=1 \\ Gani(D,觸感)&=Ent(D)-\sum_{v=1}^2 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 1 - (\frac{3}{4}\times 0.918+\frac{1}{4} \times 0 ) \\ &= 0.2295 \end{aligned} \]

選擇分類結點構建決策樹

\[\begin{aligned} Gain(D,色澤)=0 \ Gain(D,根蒂)=0.3115 \ Gain(D,敲聲)=0.3115 \\ Gain(D,紋理)=0 \ \ \ Gain(D,觸感)=0.2295 \end{aligned} \]

不妨選擇根蒂作為分類依據

此時決策樹為

image-20211031213416296

4 對分支\({6,7,15}\)進行划分

色澤 信息增益

根據色澤划分為 青綠,烏黑 兩個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{0}{1} log_2 \frac{0}{1}+\frac{1}{1} log_2 \frac{1}{1})=0 \\ Ent(D^2) &= -(\frac{1}{2} log_2 \frac{1}{2}+\frac{1}{2} log_2 \frac{1}{2})=1 \\ Ent(D)&= -(\frac{1}{3} log_2 \frac{1}{3}+\frac{2}{3} log_2 \frac{2}{3})= 0.918 \\ Gani(D,色澤)&=Ent(D)-\sum_{v=1}^2 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 0.918 - (\frac{1}{3}\times 0+\frac{2}{3} \times 1 ) \\ &= 0.252 \end{aligned} \]

敲聲 信息增益

根據色澤划分為 濁響 一個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{1}{3} log_2 \frac{1}{3}+\frac{2}{3} log_2 \frac{2}{3})=0.918 \\ Ent(D)&= -(\frac{2}{3} log_2 \frac{2}{3}+\frac{2}{3} log_2 \frac{2}{3})=0.918 \\ Gani(D,敲聲)&=Ent(D)-\sum_{v=1}^1 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 0.918 - (\frac{3}{3}\times 0.918 ) \\ &=0 \end{aligned} \]

紋理 信息增益

根據 紋理 划分為 清晰 稍糊 兩個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{1}{2} log_2 \frac{1}{2}+\frac{1}{2} log_2 \frac{1}{2})=1 \\ Ent(D^2) &= -(\frac{0}{1} log_2 \frac{0}{1}+\frac{1}{1} log_2 \frac{1}{1})=0\\ Ent(D)&= -(\frac{1}{3} log_2 \frac{1}{3}+\frac{2}{3} log_2 \frac{2}{3})=0.918 \\ Gani(D,紋理)&=Ent(D)-\sum_{v=1}^2 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 0.918 - (\frac{2}{3}\times 1+\frac{1}{3} \times 0 ) \\ &= 0.252 \end{aligned} \]

觸感 信息增益

根據觸感划分為 軟粘 一個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{1}{3} log_2 \frac{1}{3}+\frac{2}{3} log_2 \frac{2}{3})=0.918 \\ Ent(D)&= -(\frac{1}{3} log_2 \frac{1}{3}+\frac{2}{3} log_2 \frac{2}{3})=0.918\\ Gani(D,觸感)&=Ent(D)-\sum_{v=1}^1 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 0.918 - (\frac{3}{3}\times 0.918 ) \\ &= 0 \end{aligned} \]

選擇分類結點構建決策樹

\[\begin{aligned} Gain(D,色澤)=0 .252 \ \ Gain(D,敲聲)=0 \\ Gain(D,紋理)=0.252 \ \ \ Gain(D,觸感)=0 \end{aligned} \]

不妨選擇色澤作為分類依據

此時決策樹為

image-20211031214745472

5 對分支\({7,15}\)​進行划分

敲聲 信息增益

根據色澤划分為 濁響 一個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{1}{2} log_2 \frac{1}{2}+\frac{1}{2} log_2 \frac{1}{2})=1 \\ Ent(D) &= -(\frac{1}{2} log_2 \frac{1}{2}+\frac{1}{2} log_2 \frac{1}{2})=1\\ Gani(D,敲聲)&=Ent(D)-\sum_{v=1}^1 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 1 - (\frac{2}{2}\times 0.918 ) \\ &= 0 \end{aligned} \]

紋理 信息增益

根據 紋理 划分為 清晰 稍糊 兩個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{0}{1} log_2 \frac{0}{1}+\frac{1}{1} log_2 \frac{1}{1})=0 \\ Ent(D^2) &= -(\frac{1}{1} log_2 \frac{1}{1}+\frac{0}{1} log_2 \frac{0}{1})=0\\ Ent(D)&= -(\frac{1}{2} log_2 \frac{1}{2}+\frac{1}{2} log_2 \frac{1}{2})=1 \\ Gani(D,紋理)&=Ent(D)-\sum_{v=1}^2 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 1 - (\frac{1}{2}\times 0+\frac{1}{2} \times 0 ) \\ &= 1 \end{aligned} \]

觸感 信息增益

根據觸感划分為 軟粘 一個子集

計算信息熵

\[\begin{aligned} Ent(D^1) &= -(\frac{1}{2} log_2 \frac{1}{2}+\frac{1}{2} log_2 \frac{1}{2})=1 \\ Ent(D) &= -(\frac{1}{2} log_2 \frac{1}{2}+\frac{1}{2} log_2 \frac{1}{2})=1\\ Gani(D,觸感)&=Ent(D)-\sum_{v=1}^1 \frac{|D^v|}{|D|}Ent(D^v) \\ &= 1 - (\frac{2}{2}\times 0.918 ) \\ &= 0 \end{aligned} \]

選擇分類結點構建決策樹

\[\begin{aligned} \ \ Gain(D,敲聲)=0 \ Gain(D,紋理)=1 \ \ \ Gain(D,觸感)=0 \end{aligned} \]

選擇紋理作為分類依據

此時決策樹為

image-20211031215835835

2 決策樹后剪枝

1 考慮結點\(7,15\)

原分支(剪枝前),有三個樣本被正確分類 驗證集精度為 42.8%

剪枝后的決策樹

image-20211101090712293

此時驗證集有四個樣本被正確分類,精度為57.1%

於是后剪枝策略決定剪枝,得到上圖的決策樹

2 考慮結點\(6,715\)色澤=?

由上圖,決策樹精度為57.1%

剪去結點后的決策樹為

image-20211101091759701

此時驗證集有四個樣本被正確分類,精度為57.1%

與未剪枝時的精度相同,西瓜書中采用了不剪枝的策略。在這里我們不妨采用剪枝的策略,於是得到上圖的決策樹

3 考慮結點\(1,2,3,14\)​​色澤=?

在上圖基礎上來考慮剪去結點\(1,2,3,14\)色澤=? ,剪枝后的決策樹為

image-20211101092352485

此時的決策樹正確分類的樣本5個,精度為71.4%

根據后剪枝策略,進行剪枝,得到上圖的決策樹

4考慮 \(6,7,15,17\)根蒂=?

剪枝后的決策樹為

image-20211101092815594

此時的決策樹的精度仍然為71.4%

與未剪枝時的精度相同,西瓜書中采用了不剪枝的策略。在這里我們不妨采用剪枝的策略,於是得到上圖的決策樹

最終得到上圖的決策樹


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM