2章分析用のデータの前処理を行う
データサイエンティストがデータに取り組む時間のかなりの部分が、データの前処理に費やされると言ってよいでしょう。2014年に、ニューヨークタイムズはデータサイエンティストが時間の50%から80%をデータのクリーニングとラングリング†1に費やしていると報告しました(https://oreil.ly/HX1cO)。CrowdFlower(現Figure Eight)による2016年の調査(https://oreil.ly/5h28Y)では、データサイエンティストが分析やモデリングの準備のために60%の時間をデータのクリーニングと構造化に費やしていることがわかりました。データの準備は、データマンジング(data munging)、データラングリング(data wrangling)、データ準備(data prep)などの用語が生まれるほど一般的なタスクです(「Mung」はMash Until No Goodの略であり、確かにときどき行っています)。このようなデータ準備作業はすべて単なる単純で苦しい作業なのでしょうか。それとも、重要な部分なのでしょうか。
[†1] 監訳者注:ラングリングもしくはデータラングリングとは、未加工なデータを目的に応じ、分析しやすい形式に加工し収集することです。詳しくは『Pythonではじめるデータラングリング』(オライリー・ジャパン、2017)を参照。
データ準備は、データセットにデータディクショナリがある場合には簡単です。データディクショナリは、フィールド、取りうる値、データを収集した方法、他のデータとの関連を明確に示したドキュメントやリポジトリです。残念ながら、データディクショナリがないことが多いでしょう。その価値をわかっている人でさえも、ドキュメントを優先していないことが多く、新しいフィールドやテーブルを追加したために古くなっているか、データの追加方法が変わっていることもあります。データプロファイリングはデータディクショナリの多くの要素を作成するので、組織にすでにデータディクショナリがある場合には、データディクショナリを使って寄与するのに適したタイミングです。データディクショナリが存在しない場合には、作成することを検討してください。データディクショナリは、チームや将来の自分自身に与えられる最も価値のある贈り物です。最新のデータディクショナリがあると、プロファイリングを再現するのではなく、すでに行ったプロファイリングを基に進めることで、データプロファイリングプロセスを高速化できます。また、フィールドを正しく使い、適切なフィルタを適用していることを確認できるので、分析結果の品質も向上します。 ...
Get SQLではじめるデータ分析 ―クエリで行う前処理、時系列解析、コホート分析、テキスト分析、異常検知 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.