iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 5
0

由於決策樹可以分為許多種類,以下講的是講分類樹。

  • 決策樹的優點為不用懂複雜的理論與技術,就可以理解其運作原理。
  • 另外一個優點是,決策樹可以針對數據所含的意義去運作,因此決策樹所提取出來的規則,其實也就是機器學習在建立的規則。
  • 決策樹適用於類別變數,因此數值型的數據須先進行離散化。

有這麼多features可以挑選,決策樹如何挑選要先對哪一個features進行分類呢?

  • 有兩個指標可以去看,第一個是信息增益(Information gain)
    • 我們從最簡單的方法來想,可以用20個問題的遊戲來玩,今天你只有20個問題可以問,在這20個問題以內,你會盡可能地在問完每個之後縮小可能答案的範圍,因此,你所問的問題,其答案不應該太過廣泛或太過限制。
    • 舉例來說,今天我的答案是樹懶,那我第一個問題可能會是「是動物嗎?」這種比較廣泛的問題,等到範圍縮小到「陸地上的動物」後,如果問了「是否有斑點」這個問題,答案不是S1{有斑點}(大麥町狗、花豹、梅花鹿等等特定品種的動物),不然就是S2{沒有斑點}(大象、雞、豬等等很廣泛的動物類別),比起「體型比機車還小」這個問題(可以明顯得縮小範圍),第一個問題在問前問後,所提供的資訊量其實還是很多,第二個問題在問完後所提供的資訊量就相對較少。
    • 而「問題的資訊量」就叫做信息增益(information gain),而熵(entropy)是計算信息增益的方法。

                        Entropy = -p * log2 p – q * log2q
                         p:成功的機率 
                         q:失敗的機率

在篩選features時會計算篩選後的entropy,挑選entropy較小值得feature做為分類的依據。
相關的計算可以看這個部落格:https://chtseng.wordpress.com/2017/02/10/%E6%B1%BA%E7%AD%96%E6%A8%B9-decision-trees/

  • 另外一個觀念是「切分亂度」(Entropy of Partition),切分亂度低為切分後的子集合亂度較低(較為穩定)。例如,第一個問題「是否有斑點」中的S2比起S1有很高的亂度。
  • 但要注意的一點是,如果切分亂度太低,則有可能造成over fitting的問題,變成每個子集只會包含一筆數據。

第二個是吉尼係數(Gini coefficient)
詳細介紹可以看wiki pedia


                        p/(q+p)
                        p會介於0-1之間,會靠近0越平均分佈,越靠近1越不平均


上一篇
[第4天]k-近鄰算法(KNN)-2
下一篇
[第6天]決策樹-2
系列文
資料工程師的Machine Learning/工作學習歷程20
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言