01.1
データ前処理する前に
まとめ
前処理のあとに機械学習で意思決定をするとき、モデルの出力はデータそのもののバイアス、標本の選び方によるバイアス、帰納バイアスの 3 種類の影響を受けます。前処理の結果は後続の前処理・モデル・後処理・意思決定のすべてに波及するので、フィルタリング 1 つで予測が偏ることがあります。このページでは、特定の県のデータだけを残す例と、欠損の多い行を除いた結果として特定の県が消える例の 2 つで、前処理のたびに何を確認すべきかを整理します。
前処理の結果はどこまで波及するか #
データ前処理をしたあとで機械学習を使って意思決定をする際、モデルの出力はさまざまな要素によって変化します。1 つ目はデータそのもののバイアスで、収集した時点で偏った集団しか含まれていないケースです。2 つ目は標本の選択の仕方によるバイアスで、前処理で行う行の除外や抽出はまさにここに影響します。3 つ目は帰納バイアスで、"機械学習手法が汎化のために採用している仮定が,実世界の状況とはずれている場合" (引用元)に生じます。どの前処理も、この 3 つのどれかを強めたり弱めたりします。
元データ
前処理(除外・補完・変換)
機械学習モデル
後処理
意思決定
確認すること
除外の前後で 2 回、県別の件数と分布を比べる
意図した通りか判断する
フィルタリング 1 つで予測が偏る例 #
特定の県の人のデータだけをフィルタリングしてモデルを作成すると、その県の傾向だけを学んだ、偏りのある予測をするモデルができるかもしれません。明示的に「県」で絞らなくても同じ偏りは起きます。たとえば「欠損の多い行を除外する」という一見中立な前処理を行った結果、実は特定の県のデータだけ欠損が多く、その県がデータからほぼ消えて、結果的に偏りにつながることがあります。だから前処理をする際は、意図した通りの前処理ができているか(除外の前後で県別の件数や平均を比べるなど)、本番でも正しく運用できているかを常にチェックする必要があります。