行の大半が欠損している学習データの扱いについて疑問点があるので,ご存じの方にご知見いただければ幸いです。
DataRobotはモデリング前に所定のデータクレンジング処理を実行し,空の列の検出や欠損値補完などしてくれると思います。
このデータクレンジング処理の強力さは承知しておりますが,私の理解の範囲では列方向でのクレンジング処理が主であると考えています。
ID | ターゲット | 特徴量A | 特徴量B |
0 | True | 10 | False |
1 | False | True | |
2 | True | 8 | False |
... | ... | ... | ... |
(上記の場合,特徴量Aの欠損値が列方向の中央値等で補完される...はず)
そこでふと気になったのですが,行方向で異常がある場合には何らかの処理が行われるのでしょうか。例えば,特定の行においてIDとターゲット値以外の値が全て欠損している場合,その行は異常としてデータセットから除外するのか,あるいは各特徴量の欠損値が中央値等で補完された状態でモデリング処理されるのでしょうか。
ID | ターゲット | 特徴量A | 特徴量B |
0 | True | 10 | False |
1 | False | ||
2 | True | 8 | False |
... | ... | ... | ... |
(イメージしている状況。ID1行目において特徴量AやB,その他すべての特徴量が欠損している)
基本的にはそのような行は事前に取り除くべきだとは思うのですが,場合によっては意図せずこのようなデータがアップロードされる可能性があるので,どのような処理が生じるのか気になり質問させていただきました。
解決済! 解決策の投稿を見る。
DataRobotは、特定の行においてIDとターゲット値以外の値が全て欠損している場合、その行は除外しなくて、各特徴量の欠損値が補完された状態でモデリング処理。
返信いただきありがとうございます。
特に何も処置しなければそのまま欠損値補完されてモデリングされるということで承知いたしました。