處理遺漏值常見填補方法?
2019/05/03 下午 08:06
機器學習共學討論版
Claude
觀看數:143
回答數:3
收藏數:1
ml100-2
missing value
遺漏值
ml100-2-d07
詢問一下,處理遺漏值時,能透過中位數、眾數、平均數或分位數等四種方法填補,那依照哪一種方法填補,主要是依據什麼來決定呢? 還有處理例外值的方式,除了刪掉和保留之外,是否也是可以透過以上提到填補的四種方法,做例外值的替換呢!
回答列表
-
2019/05/03 下午 09:50張維元 (WeiYuan)贊同數:2不贊同數:0留言數:0
Missing Value 的處理策略以「盡量不要破壞原有的分佈」為原則,常見可以分為以下幾種方式:
- 直接刪除含有缺失值的資料或欄位(根據移除的影響程度)
- 填補遺失值
- 人工填補
- 常數(0/-1)或通用值(unknown)
- 類似資料/全部資料的統計值(連續數值的話補平均,離散、類別數值的話補眾數)
- 利用統計方法進行補值(內差/回歸)
- 利用機器學習方法進行補值(預測)
關於利用常數(0/-1)或通用值(unknown)的補法:
可以參考資料的初始值,像是 0 或是 -1 之類
或是當資料的遺失值很多但是找不到一個好的統計值來表示的話,可以視為一個新的 unknown 類型
-
2019/05/04 上午 01:11Seanyu.TW贊同數:0不贊同數:0留言數:0
Hi, 通常沒有準則,然而最常見的是用平均值或中位數,次之是分位數。極少數的狀況下會用眾數。
-
2019/05/04 上午 01:16Seanyu.TW贊同數:0不贊同數:0留言數:0
至於何時使用,每個人偏好不同,但多是觀察分布以及目標。 比如
假如把分布畫出來後,近似於常態分佈,那我們就比較常用平均數來取代 NA;如果分布並非常態,則會用中位數來取代。
另外有些值雖然是有數值,但是在 outlier 的位置,則會用分位數 (q1 / q99) 做取代。
一些經驗,沒有正確答案僅供參考