データサイエンスといっても、幅広く、統計解析やデータマイニング、機械学習など違いがよく分からない言葉がたくさんある。
ただ、どんなことでもデータを分析するのであれば、プロセスは似たようなものになるはずと思っている。
そこで、以下の「データサイエンティスト養成読本」を読んで"データサイエンスの基本"と"データ分析業務のプロセス"についてまとめた。
改訂2版 データサイエンティスト養成読本 [プロになるためのデータ分析力が身につく! ] (Software Design plus)
- 作者: 佐藤洋行,原田博植,里洋平,和田計也,早川敦士,倉橋一成,下田倫大,大成弘子,奥野晃裕,中川帝人,長岡裕己,中原誠
- 出版社/メーカー: 技術評論社
- 発売日: 2016/08/25
- メディア: 大型本
- この商品を含むブログ (2件) を見る
目次
- データサイエンスの基本要素
- データ分析業務のプロセス
- データ分析プロセスのフレームワーク
データサイエンスの基本要素
まずは、データサイエンスの超基本的な構成要素について。
図にするとこんな感じ。
Input
センサー技術の発展によりInputとなるデータが多様化した
→データは多様であるほど様々な分析ができるため、分析対象が高品質になった、といえる
分析するアプリ・ツールが稼働するハードウェア
クラウドサービスが普及し、一気に低コスト化した
→分析するための土台が安く手に入るようになった
分析アプリ・ツール
データ操作技術の発達により、PythonのPandasといった様々な分析ツールが生まれ簡単にデータ分析をできるようになった
→自分で統計量や分析手法をコーディングする必要がなくなった
Output
従来のシンプルなCSV形式による出力だけではなく、Parquet形式といった軽量に扱える形で結果を保存できるようになった
→結果の表示や再利用がしやすくなった
データ分析業務のプロセス
①目的設定
まずは何においても「何が知りたいのか、なぜデータ分析をしたいのか」を明確にすることから始まる。ここが曖昧だと、データ分析をしても、分析すること自体が目的になってしまい、価値の無い分析結果が生まれてしまう。
解析した後は、その結果の精度などを確認し、モデルの良し悪しを判断する。
また、適用するモデル(アルゴリズム)を変えてみる等、試行錯誤して検証を繰り返す。
データ分析プロセスのフレームワーク
ここからはプロセスのフレームワークについてのまとめ。
データ解析プロセスのフレームワークとして、CRISP-DMというものがある。
先ほどまとめた ①目的設定、②データ把握、③データの視覚化、④多変量解析 を体系的にまとめたものになっている。
要素としては、以下の6つ。
1:Business Understanding
2:Data Understanding
3:Data Preparation
4:Modeling
5:Evaluation
6:Deployment
1:Business Understanding(ビジネス理解)
データ分析の対象となる業務・ビジネスを理解するフェーズ。①目的設定に該当する。
レコメンデーション実装なのか業務支援なのか、といった最終的なアウトプットを意識して理解を進めることが必要になる。
アウトプットが明確になり、何をする必要があるかが分かったら、各ポイントでの目標を設定し、スケジュールに落とし込んでいく。
2:Data Understanding(データ理解)
対象の業務に関連して収集しているデータを理解するフェーズ。②データ把握に該当する。
データベースの種類や規模(テーブル数)、データ型や用意されているカラムの調査に加え、システム全体の構成からデータのインプットとアウトプットを把握することが必要。
3:Data Preparation(データ準備)
データを抽出し、加工するフェーズ。③データの視覚化を含んだ部分となる。
いわゆる前処理と呼ばれる部分。ここがデータ解析プロセスの中で一番重要であり、一番時間を必要とする。
抽出・集約・統合や、データ形式の統一、欠損値の処理など。
4:Modeling(モデル化)
対象データに効果のあるモデルを適用するフェーズ。④多変量解析に該当する。
一般的には教師ありモデル(決定木、線形回帰)や教師なしモデル(k-means、主成分分析)に分割される。
この後のEvaluationによって効果的なモデルが見つかるまで、いくつかのモデルの適用を繰り返すことになる。
5:Evaluation(検証・評価)
データ分析の結果から最初に設定した目標を達成するかを検証し評価するフェーズ。④多変量解析に該当する。
6:Deployment(サービス実装)
作成したデータ分析モデルを、今後のデータに適用し、サービスとして実装するフェーズ。
既存のシステムに適用したり、新規ソフトウェアとして開発する方法がある。
また、環境・時間の変化によって作成したモデルは最適ではなくなる可能性があるため、常にモニターする必要もある。作成したモデルの予測値と結果のズレが小さいままかどうかをチェックし、アラートを発生させるなど、自動的な監視を導入するなどが考えられる。
以上、すごく触りの部分だけまとめた。
この後は、「データ解析の実務プロセス(森北出版)」を読んで理解を深めていく。