機器學習西瓜書 基尼指數

2021-10-02 19:01:58 字數 2856 閱讀 9442

cart決策樹使用「基尼指數」(gini index)來選擇劃分屬性。書上並沒有寫出具體的例子供參考,這裡給出乙個例子。

首先先列出求取基尼指數所需要用的公式。

資料集d的純度可用基尼值來度量。gini(d)越小,則資料集d的純度越高。(pk指的是正例在總體中的比例)

屬性a的基尼指數定義為:

求取得出屬性a的基尼指數後,再求取其他屬性的基尼指數,最後比較獲得基尼指數最小的屬性為最優劃分屬性,並繼續求取次級最優劃分屬性,以此類推,直到排序完成。

本例子運用的資料是書上給出的西瓜資料集2.0

這是色澤屬性的圖示。

根據圖示寫出程式。

# 求取基尼值

defgini_index_single

(a,b)

: single_gini =1-

((a/

(a+b))**

2)-(

(b/(a+b))**

2)return

round

(single_gini,4)

# 求取基尼指數

defgini_index

(a,b,c,d,e,f)

: zuo = gini_index_single(a,b)

zhong = gini_index_single(c,d)

you = gini_index_single(e,f)

sum= a+b+c+d+e+f

gini_index = zuo*

((a+b)

/sum

)+ zhong*

((c+d)

/sum

)+ you*

((e+f)

/sum

)return

round

(gini_index,4)

defgini_index2

(a,b,c,d)

: zuo = gini_index_single(a,b)

you = gini_index_single(c,d)

sum= a+b+c+d

gini_index2 = zuo*

((a+b)

/sum

)+ you*

((c+d)

/sum

)return

round

(gini_index2,

4)

依次求取色澤、根蒂、敲聲、紋理、臍部、觸感的基尼指數。如:

通過比較得出,紋理屬性的基尼指數最小,為0.3046,為當前的最優劃分屬性。第一次分叉結束,接下來進行第二次分叉。(此時「紋理」屬性不再作為候選劃分屬性。)

以圖中第乙個分支節點(紋理=「清晰」)為例,計算其他屬性的基尼指數。

首先先計算該節點的純度。(即基尼值)

def

gini_index_single

(a,b)

: single_gini =1-

((a/

(a+b))**

2)-(

(b/(a+b))**

2)return

round

(single_gini,4)

gini_index_single(7,

2)0.3457

此時再計算其他屬性的基尼指數,紋理清晰的色澤、根蒂、敲聲、臍部、觸感的基尼指數分別為0.3333、0.1481、0.1852、0.1481、0.1481。「根蒂」、「臍部」、「觸感」三個屬性的基尼指數相等,且都比該節點的數值要小(0.3457<0.1481),所以該節點應當繼續進行分叉。此時我們選擇使用屬性「根蒂」繼續進行分叉。當我們使用「蜷縮」屬性進行計算時,由於該樣本中紋理清晰且根蒂蜷縮的西瓜都是好瓜,所以該節點無法繼續進行分叉。(即該節點基尼值為0,沒有更小的基尼值了)

def

gini_index_single

(a,b)

: single_gini =1-

((a/

(a+b))**

2)-(

(b/(a+b))**

2)return

round

(single_gini,4)

gini_index_single(5,

0)0.0

我們換用另外乙個節點「稍蜷」,發現可以繼續進行分叉,繼續分叉。

經過計算,最後得到的決策樹如下:

機器學習西瓜書筆記

概念 致力於通過計算的手段,利用經驗來改善系統自身的效能。其中,經驗以資料的形式存在。基本術語 資料集 記錄的集合。示例 樣本 每條記錄,關於乙個事件或物件的描述,反應事件或物件在某方面的表現或性質的事項。屬性 特徵 一條記錄 乙個樣本由多個屬性 特徵組成。屬性值 屬性或特徵的值。示例對應於乙個座標...

機器學習西瓜書 基本術語

一組記錄的集合,例如 注 d dd又稱為樣本的維數 資料集中每條記錄是關於乙個事件或物件的描述,例如 反映事件或物件在某方面的表現或性質的事項,例如 屬性上的取值,例如 屬性張成的空間,例如 假設有三種屬性 色澤 根蒂 敲聲,就可以張成乙個用於描述細化的三維空間,每個西瓜都可以在這個空間中找到自己的...

機器學習(西瓜書) 緒論筆記

正如我們根據過去的經驗來判斷明天的天氣,吃貨們希望從購買經驗中挑選乙個好瓜,那能不能讓計算機幫助人類來實現這個呢?機器學習正是這樣的一門學科,人的 經驗 對應計算機中的 資料 讓計算機來學習這些經驗資料,生成乙個演算法模型,在面對新的情況中,計算機便能作出有效的判斷,這便是機器學習。另一本經典教材的...