iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0

跟前兩天一樣,今天要介紹的決策樹也是「監督式學習」,但比較不一樣的是,這次我們要用的資料集不是鳶尾花。


今天的學習目錄

  1. 介紹決策樹

今天比較特別一點,因為作者本人生病惹,吃了藥下去一整個昏昏沉沉,處於魂不在身上的狀態……

所以今天和後來幾天的部分,如果有遇到程式碼的,都會先暫時放著,只先談理論,等之後病好了再補齊。

感謝各位@@

決策樹介紹

概念

決策樹透過對數據進行切割,形成一個樹狀結構,每個節點代表一個特徵,每個分支代表一個特徵的取值,葉子節點包含了預測的結果。

有點難理解對不對,沒關係,我們看下面的圖。

示例圖

決策樹示例圖

其實比較常看到有人用來做示範的是金融類(比如能不能貸款、會不會還錢之類的),但講那個就有點無聊了,所以今天就用帥哥來做分類吧,這樣會不會比較有趣XD

裡面總共有三種「節點」:

  1. 根節點 (Root Node):整棵決策樹的起點,位於最頂部,負責進行第一次特徵分割。[圖中我用樹幹表示。]
  2. 內部節點 (Internal Node):在根節點和葉節點間的節點,負責根據特定特徵的取值進行分割。[圖中我用咖啡底的文字表示。]
  3. 葉子節點 (Leaf Node):最終的節點,包含了預測的結果,並不再進行進一步的分割。[圖中我用樹葉表示。]

除了節點之外,其中你看到帥/不帥、> 100萬/< 100萬,所代表的就是「分支」,也就是決策樹要怎麼分割。[圖中我用樹枝表示。]

這樣看完,配著圖,是不是就比較好理解決策樹了?

決策樹的其他切法

當然,決策樹並不只有上圖這樣的切法,舉些例子:

  1. 根節點分出來的分枝不一定只能兩個,也可以是三個,比如根節點是年齡的話,可以分成"小於20歲"、"20~60歲"、"60歲以上"等等。
  2. 決策樹也不像我的圖,左邊下來就直接結束了,兩邊都可以無限延伸,上面的圖是考量到畫不下去才這麼少XD

談談「過度擬合」的問題

決策樹常常會遇到「過度擬合(Overfitting)」的問題。常見的原因有「特徵選取過多」、「深度過深」等等。

特徵過多
特徵過多其實很好理解,以上面的例子來說,我的特徵只有四個,分別是「長相」、「年收入」、「身高」、「體貼」,但如果裡面又加入了「打籃球」、「朋友很多」、「有禮貌」等等的特徵,決策樹會盡力去找出特徵與特徵之間的聯繫,導致過度擬合。

深度過深
那,深度是什麼呢?

深度其實就是決策樹「長幾層」,深度越深,決策樹切分的就越精細。

如果這樣的話,切越深越好囉?也不對哦。

切的太淺,分類太不具體,所以預測的效果會很差,但是如果切得太深,太精細,預測的效果也會降低。

為什麼呢,深度切的深,表示這個模型會很貼合「訓練集」,因為很了解其中的規則,所以在訓練集的準確率會非常高。

但當他遇到「測試集」(也就是新資料)的時候,反而會因為規則太具體的貼近之前的資料,在預測新資料的時候產生不適應感。

結語

希望今天這樣講解,大家可以更好的理解決策樹的運作邏輯。

如果有興趣的人,可以根據上面的那張圖,畫畫看屬於自己的決策樹,並放上來跟大家分享哦!


上一篇
Day21 K最近鄰(KNN)
下一篇
Day23 隨機森林
系列文
跟我一起在AI的世界裡打怪獸30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言