請問下列程式中, 使用均值編碼, 驗證分數為1, 是不是太高了
2019/03/27 下午 03:15
機器學習共學討論版
馮啟倫
觀看數:11
回答數:3
收藏數:1
ml100
均值回歸
ml100-d23
回答列表
-
2019/03/28 下午 02:45陳明佑 (Ming You Chen)贊同數:2不贊同數:0留言數:1
這個問題發生的原因, 在於其中兩個欄位 'Name' 與 'Ticket'
這兩個欄位中的值, 因為幾乎沒有重複
所以拿來做均值編碼時, 就會出現嚴重 overfitting 的情況
也正因為如此, 在範例解答中, 我們會將這兩個欄位的均值編碼拿掉
用在實際應用上時, 課程中的 smoothing (平滑化) 可以稍微平緩這樣的狀況
但即使加上這些方式, 均值編碼還是很經常 overfitting 的
所以使用上需要謹慎
-
2019/04/03 下午 00:56張維元 (WeiYuan)贊同數:1不贊同數:1留言數:0
-
2019/04/03 下午 03:29陳明佑 (Ming You Chen)贊同數:1不贊同數:0留言數:0
在訓練資料與目標資料有類似性質的特徵時, 就會很有用
例如 :
1. 訓練資料數量龐大, 或在樣本中很有代表性
2. 原本的 test 資料, 就是將母體資料分群按比例抽取, 那麼兩者性質也會接近
但是這些都是取決於資料的屬性, 所以需要比較驗證後才能得知
此外, 性質不同的屬性, 就算各別 overfitting 了, 集成後也可能互相抵消
如果不好用, Catboost 就不會拿來當作 categorical 欄位的預設編碼方式了