Missing value in feature 特徵缺值 #
處理表格式資料 (tabular data) 不時會遇到資料缺失。除了 tree-based 的模型有內建處理缺值的功能,其他模型通常沒有這麼厲害,但遇到缺值還是會影響模型成效。對於特徵缺值有幾種處理方法:
- 丟掉有缺值的資料。
- 「猜」缺的值是多少。
- 讓模型去學缺值可能是多少。
丟掉缺值 #
當缺值很少且為隨機缺值時,可以丟掉整筆資料,對模型影響不大。當缺值很多很多且為隨機缺值時,可以丟掉整個特徵。
「猜」缺的值是多少 #
- 使用統計值填補:根據特徵的特性,去猜缺的值可能是多少。比如身高可以猜平均值或中位數。
- 根據其他維度的值填補:假設另一個特徵一樣的話則此特徵也會一樣。
- 使用模型填補:用其他特徵的值訓練一個模型預測這個特徵的值
讓模型去學缺值可能是多少 #
Numerical feature 多一個維度 (值可以填 0、1) 表示是否缺值。Categorical feature 可以多一個類別表示缺值。