定義
データクレンジング(Data Cleansing)とは、集めた生データから入力ミスや重複した情報、空欄(欠損値)を見つけ出し、修正したり整えたりする作業のことです。データ分析や人工知能(AI)が見当違いの結論を出さないようにするための、最も基本的で重要な下準備です。
泥がついた野菜のままでは、おいしい料理は作れません
畑から抜いたばかりのニンジンには、泥や虫がついていて傷んだ葉も混ざっています。これを洗わずにそのまま鍋に入れたら、砂がジャリジャリする台無しな料理になってしまいますよね。世の中から集めてきた生のデータも、これとまったく同じです。
人が手で入力すれば打ち間違いが起こりますし、システムの不具合で同じ情報が2重に保存されることもあります。必須の情報がぽっかり空欄のまま送られてくることも日常茶飯事です。このような汚れた情報をそのままコンピューターに入れてしまうと、いくら賢いAIであっても的外れな答えを出してしまいます。
コンピューターサイエンスには「ゴミを入れれば、ゴミが出てくる(Garbage In, Garbage Out)」という有名な格言があります。どんなに腕の良い料理人でも、腐った食材から絶品料理を作れないのと同じで、データ分析の成否はきれいな材料を準備できるかで決まります。
データクレンジングは、AIという素晴らしい料理を作る前に、不純物を取り除いて新鮮な中身だけを残す最も重要な準備プロセスなのです。
具体的にはどんな「お掃除」をするのでしょうか?
データクレンジングは、散らかったデータを役立つ資源へと変える具体的な作業です。よく行われるのは次のような処理です。データの状態によって順序は変わりますし、何度も繰り返すこともあります。
代表的な作業が空欄(欠損値)の処理です。例えばアンケートで年齢欄が空欄だった場合、全体の平均年齢で埋めるのか、それとも分析から除外するのかといった基準を定めます。平均値で埋めるなら、でたらめな数値や重複を先に取り除いておかないと平均そのものが狂ってしまいます。また、バラバラな表記ルールを統一する作業も行います。電話番号にハイフン(-)があったりなかったりする場合に、書式をきちんと揃えるといったことです。
あり得ないおかしな値も徹底的に探し出します。年齢が500歳になっていたり、テストの点数がマイナス20点になっていたりするミスを見つけ、元のデータを確認して直したり、不明な場合は空欄にしたり目印を付けたりします。さらに、同じ人の注文履歴が2回登録されているような重複したデータを1つだけ残して削除します。
このようにデータの欠損を埋め、形式を整え、エラーや重複を取り除くステップを踏んで初めて、コンピューターが安心して学習できる状態になるのです。
もう少し正確に言うと
もう少し正確に言うと、データクレンジングは気になるおかしな数値を何でもかんでも消してしまう単純な掃除ではありません。
普段のデータと極端にかけ離れた飛び抜けた値(外れ値)の中には、単なる入力ミスだけでなく、極めて重要な本物のシグナルが隠されていることもあります。例えば、いつもより100倍も高額な決済額はシステムの不具合かもしれませんが、実際のクレジットカード不正利用事件かもしれないからです。そのため、むやみに削除するのではなく、データの文脈を見極めて緻密な統計的基準を設けて対処する必要があります。
実際、業界のさまざまな調査において、データサイエンティストは業務時間のかなりの部分をデータ準備やクレンジング作業に費やしていると答えています(その割合は調査によって異なります)。外から見ると華やかなAIアルゴリズムを設計する仕事が目立ちますが、土台となるデータが美しくなければ、すべての努力が水の泡になってしまうからです。
信頼できるデータがあってこそ信頼できるAIが生まれるという意味で、クレンジングはデータサイエンスの始まりであり要でもあるのです。
よくある誤解
データクレンジングは、コンピュータープログラムがボタン1つで自動的に完璧に終わらせてくれる。
コンピューターがおかしな数値を見つけ出すことはできますが、それがエラーなのか重要な兆候なのかを判断し、どのような基準を適用するかは専門家である人間が決める必要があります。
日常で出会う場面
ネット通販で、顧客リストの誤字・脱字や重複登録されたアカウントを整理する。
病院で、患者の体温記録のうち機器の誤作動で記録された「氷点下50度」のデータを見つけ出して修正する。
つまり ひとことで
どんなに優れたAIであっても、汚れたデータを使えば誤った結果を導いてしまいます。そのため、データの誤りや重複を正すクレンジング作業は、あらゆるデータ分析の土台となる必須プロセスです。