欠損値処理(Missing Value Handling)とは、データセットに含まれる欠損値(NaN、NULL、空白など)を適切に処理する手法です。ほぼすべての実世界のデータに欠損値が含まれるため、機械学習の前処理において必須のステップです。
欠損のメカニズム
欠損は3つのパターンに分類されます。MCAR(完全にランダムな欠損)、MAR(他の変数に依存する欠損)、MNAR(欠損値自体に依存する欠損)です。メカニズムに応じた処理方法の選択が重要です。
処理方法
削除(行削除・列削除)、代入(平均値・中央値・最頻値での補完)、高度な手法(KNN補完、多重代入法、MICE)、モデルベースの補完(IterativeImputer)などがあります。
欠損値フラグ
欠損の存在自体が情報を持つ場合があります。「欠損であるかどうか」を示すフラグ変数を追加する手法も有効です。