幾句話之Cart樹

準備工作

如果我們要把樣本畫成一棵樹(這棵樹可以用來查找最近鄰或者是分類),那我們最想知道的就是:拿哪個特徵去拆分樣本,並且要具體到拿哪個特徵的哪個值去拆分樣本?
我們最希望的結果是:通過某種手段(數學公式)來選擇特徵(以及該特徵的某個具體值),然後拿着這個千辛萬苦得到的特徵(值),把一堆樣本"一分爲二"。以此類推,最後,把樣本劈成了一棵樹。
以前博客裏提到的信息增益,信息增益率,都是爲了選出特徵(用來劃分樣本)。
下面即將要說的基尼係數,也是這個作用。

基尼係數,能夠幫助Cart樹選擇特徵。用選出來的特徵,可以更好的將樣本畫成一顆樹,最終分類。
事實上,要了解的順序是 :不純度==》基尼係數==》Cart樹

方差不純度

不純度值越小,說明樣本越"純",越能說明大家是"一類人"。
當樣本點均來自同一類別時不純度爲0,當兩個樣本點屬於不同類別時不純度如下:
i(N)=p(w1)p(w2)
推廣到多分類問題的不純度:
多分類的不純度

基尼係數

基尼係數本質上是:樣本被選中的概率 × 樣本被分錯的概率,當然它的計算公式不完全長這個樣子,只是大體思路是這個樣子。
所以基尼係數越小越好。
基尼係數:假設有K個類別,樣本點屬於第k類的概率爲Pk,則基尼係數如下:
基尼係數
其中Dk表示的是第k類樣本子集的個數。
NOTE:如果是二分類的情況,第一個類別的概率是P1=p,P2=1-p
Gini§=2P1P2=2p(1-p)

Cart分類樹

例子
計算Gini係數:
Gini(貸款,青年)
Gini(貸款,中年)=0.48
Gini(貸款,老年)=0.44
Gini(貸款,有工作)=0.32
Gini(貸款,有房子)=0.27
其中0.27最小,所以選擇特徵爲房子,最優切分點爲有房子
以此類推,即可通過Gini係數選擇特徵以及切分點,將樣本畫爲一棵樹,最終分類成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章