統計學習方法 課後習題第五章

2022-06-04 07:09:08 字數 3351 閱讀 8036

5.1 根據表5.1所給的訓練資料集,利用資訊增益比(c4.5演算法)生成決策樹。

注意這裡是用資訊增益比哦,from sklearn.tree import decisiontreeclassifier這裡預設是gini

首先計算資料集\(d\)的經驗熵\(h(d)\):

\(h(d)=-\fraclog_2\frac-\fraclog_2\frac

=0.97095\)

\(h(d|a_1)=\frac*(-\fraclog_2\frac-\fraclog_2\frac)+\frac*(-\fraclog_2\frac-\fraclog_2\frac)+\frac*(-\fraclog_2\frac-\fraclog_2\frac)=0.88794\)

\(h(d|a_2)=\frac*(-\fraclog_2\frac-\fraclog_2\frac)

+\frac*(-\fraclog_2\frac-\fraclog_2\frac) =0.64730\)

\(h(d|a_3)=\frac*(-\fraclog_2\frac-\fraclog_2\frac)

+\frac*(-\fraclog_2\frac-\fraclog_2\frac) =0.55098\)

然後計算資料集\(d\)關於各個特徵a的值的熵\(ha(d)\):

\(h_(d)=-\frac*log_2\frac-\frac*log_2\frac-\frac*log_2\frac =1.58496\)

\(h_(d)=-\frac*log_2\frac-\frac*log_2\frac

=0.91830\)

\(h_(d)=-\frac*log_2\frac-\frac*log_2\frac

=0.97095\)

\(h_(d)=-\frac*log_2\frac-\frac*log_2\frac-\frac*log_2\frac =1.56605\)

好了,可以計算各個特徵的資訊增益比\(g_r(d,a)\)了

\(g_r(d,a_1)=\frac(d)}

=\frac

=0.05237\)

\(g_r(d,a_2)=\frac(d)}

=\frac

=0.35244\)

\(g_r(d,a_3)=\frac(d)}

=\frac

=0.43253\)

\(g_r(d,a_4)=\frac(d)}

=\frac

=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)=-\fraclog_2\frac-\fraclog_2\frac=0.91830\)

\(然後計算各個特徵的經驗條件熵 h(d_2|a)\)

\(h(d_2|a_1)=\frac*(-\fraclog_2\frac-\fraclog_2\frac) +\frac*(-\fraclog_2\frac-\fraclog_2\frac) +\frac*(-\fraclog_2\frac-\fraclog_2\frac)=0.66667\)

\(h(d_2|a_2)=\frac*0+\frac*0=0\)

\(h(d_2|a_4)=\frac*0+\frac*(-\fraclog_2\frac-\fraclog_2\frac)+\frac*0=0.44444\)

\(然後計算在資料集d_2中各個特徵的取值的經驗熵h_a(d_2):\)

\(h_(d_2)=-\fraclog_2\frac-\fraclog_2\frac-\fraclog_2\frac=1.53050\)

\(h_(d_2)=-\fraclog_2\frac-\fraclog_2\frac=0.91830\)

\(h_(d_2)=-\fraclog_2\frac-\fraclog_2\frac-\fraclog_2\frac=1.39214\)

下面計算各個特徵的資訊增益比:

\(g_r(d_2,a_1)=\frac(d_2)}=\frac=0.16441\)

\(g_r(d_2,a_2)=\frac(d_2)}=\frac=1\)

\(g_r(d_2,a_4)=\frac(d_2)}=\frac=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_,c_\)的值代入到均方差中,如下:

統計學習方法 第五章

資訊增益比 說完了資訊增益,來說一下資訊增益這種演算法的缺點,以資訊增益為準則在選擇特徵時,傾向於選擇取值較多的特徵作為最優特徵。因為資訊增益的目的是使得選擇這個特徵作為根節點之後,接下來的決策樹會越小越好也就是越容易分類。如果這個特徵的取值比較多,會使下一層比較寬佔據較多樣本,那自然再次遞迴時會更...

統計學習方法 第五章決策樹

描述對例項進行分類的樹型結構,決策樹由結點和有向邊組成,結點有兩種型別 內部結點 表示乙個特徵或屬性 和葉結點 乙個類 用決策樹分類,從根節點開始,對例項的某一特徵進行測試,根據測試結果,將例項分配到其子節點,這時,每乙個子節點對於著該特徵的乙個取值,如此遞迴地對例項進行測試並分配,直至達到葉節點,...

第五章 課後習題

第一題 輸入乙個字串,將該字串中下標為偶數的字元組成新串並通過字元格式化方式顯示 str1 input 請輸入乙個字串 str2 for i in range len str1 if i 2 0 str2 str1 i print format str2 第二題 編寫程式,生成乙個由15個不重複的大...