iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
2
影片教學

全民瘋AI系列系列 第 16

[Day 16] 決策樹 (迴歸器)

決策樹 (迴歸器)

Yes

今日學習目標

  • 迴歸決策樹
    • 學習決策樹是如何處理連續性數值輸出
  • 實作決策樹迴歸器
    • 查看決策樹方法在簡單線性迴歸和非線性迴歸表現

決策樹迴歸方法與分類有點類似差別僅在於評估分枝好壞的方式不同。當數據集的輸出爲連續性數值時,該樹算法就是一個迴歸樹。透過樹的展開,並用葉節點的均值作爲預測值。從根節點開始,對樣本的某一特徵進行測試。經過評估後,將樣本分配到其子結點。此時每一個子節點對應著該特徵的一個值。依照這樣方式進行,直至到達葉結點。此時誤差(loss)為0。

CART 決策樹

  • scikit-learn 決策樹演算法採用 CART (Classification and Regression Tree) 樹演算法。
  • 可以做分類和迴歸預測。
  • 在每一個節點上都是採用二分法。

決策樹總結

決策樹透過所有特徵與對應的值將資料切分,來找出最適合的分枝並繼續往下拓展。若決策樹深度越深,則決策規則越複雜,模型也會越接近數據,但若數據中含有雜訊,太深的樹就有可能產生過擬合的情形。因此單一的迴歸樹肯定是不夠用的。可以利用集成學習中的 Boosting 架構,對迴歸樹進行改良升級。

中秋連假愉快 /images/emoticon/emoticon42.gif

本系列教學簡報 PDF & Code 都可以從我的 GitHub 取得!


上一篇
[Day 15] 決策樹 (分類器)
下一篇
[Day 17] 集成式學習
系列文
全民瘋AI系列31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
crazy
iT邦新手 5 級 ‧ 2022-08-04 09:49:16

10程式中
您好,謝謝您的講解。
想請問我有看到書中寫到,迴歸樹的「應變數"符合常態分布」,才適合建立迴歸模型,若為變異很小或雙峰分配,對建模會有困難。
想請問此條件是只有在「迴歸樹」時需要去確認的事,還是像多元迴歸等其他迴歸模型,或多元類別作為目標變數的模型,都要去確認的事?

10程式中 iT邦研究生 4 級 ‧ 2022-08-04 19:43:02 檢舉

大多數的機器學習演算法都以資料特徵常態分佈為假設,若資料透過偏度 (Skewness)分析有左偏或右偏情形可以做一些資料前處理。可以參考這系列的另一篇文章

crazy iT邦新手 5 級 ‧ 2022-08-04 23:03:13 檢舉

10程式中
非常謝謝您的解答,我過去也是理解到對自變數須是常態分佈,但不知道"依變數"也要"符合常態分佈"此條件嗎?
也就是文章中的目標變數 boston['MEDV'],也需要檢視他是否為常態分佈嗎?

10程式中 iT邦研究生 4 級 ‧ 2022-08-05 19:29:11 檢舉

就房價預測來說也是會,不然你的模型會因為豪宅或是比較低價的住宅影響整個模型判斷。某種程度上我們可以稱這些為離群值,有時候適當地將非常極端離群值移除也可以避免極度偏左(右)的趨勢。

我要留言

立即登入留言