その他

Python基礎:データ分析プロセス

スポンサーリンク

はじめに

今回はデータ分析のフレームワークについて扱います。データ分析を実施するためには、どのような手順でどのような処理をおこなえばよいのか。ビジネス課題からスタートするフレームワークであるCRISP-DMについて確認していきましょう。

CRISP-DM

データ分析をするうえでのフレームワークとしては、今回扱うCRISP-DMだけでなく、いくつか提唱されています。たとえば、KDD(Knowledge Discovery in Databases)などが有名ですが、これはデータ分析部分に特化したフレームワークです。今回、CRISP-DMを扱うことにしたのは、このフレームワークはビジネス課題から始まり、データ分析をビジネスに活かす、という発想であるためです。早速みていきましょう。

CRISP-DMは、CRoss Industry Standard Process for Data Miningを略したもので、「ビジネス理解」「データ理解」「データ準備」「モデリング」「評価」「共有・展開」の6つのステップから構成されます。

ビジネス理解

このプロセスでは課題を明確にして、KPIの設定や計画立案をおこないます。課題は、ビジネスの目的を明文化して、「現在の姿」と「あるべき姿」を定義して其のギャップを埋めるものを課題とするとよいでしょう。ここでは、「問題」と「課題」を次のように使い分けています。※ビジネスシーンではこのように使い分けることが多い。

「問題」は、組織が目標とするものと、現状との間にあるギャップのことで、目標達成のために、解決しなければならない事柄です。

「課題」は、目標と現状とのギャップを埋めるために、やるべきこと。問題を解決するために起こす具体的なアクションです。

https://news.mynavi.jp/article/20180326-596685

データ理解

ビジネス理解のフェーズで設定した課題を解決するために必要なデータを列挙し、これらのデータが分析を実行するために十分であるかを検討します。このプロセスでの検討内容は、「必要なデータが取得できているか」「データの量は十分であるか」「いつ、どこで、なぜデータを取得したのか(人手で入力されたものなのか、システムにより自動で入力されたのかなど)」「データは何を意味しているのか」「データに欠損値や外れ値は含まれているのか」「データの項目間に関連はあるのか」などになります。

統計的な性質をみたり、可視化して確認するのはもちろんですが、データがビジネスのどのような過程で発生して、入力・蓄積されたのかも理解する必要があります。

データ準備

データを理解できたら、データを分析に適するように加工する、前処理をします。データの形式によって、前処理に使用する手法は大きく異なりますが、欠損値や外れ値の処理、データの離散化、規格化などの処理をおこないます。

欠損値は除外するか、あるいは補完するか、補完する場合はどのように補完するか、を検討します。外れ値も(必ずしも除外することを前提とするのではなく)除外するかどうかを検討する必要があります。

機械学習のアルゴリズムは、主に数値型のデータを受け付けるため、文字列型を数値型に変換します。また、数値を集約することもあります。

その他、利用する機械学習アルゴリズムによってはデータを正規化・規格化する必要がある場合もあります。

また与えられた項目だけでなく、あらたな特徴量を作成するのもこのプロセスでのタスクになります。

モデリング

特徴量に基づいて、機械学習のアルゴリズムを使ってモデルを作成します。機械学習には「教師あり学習」「教師なし学習」「強化学習」があります。「教師あり学習」ではデータの分類と回帰、「教師なし学習」ではデータのグループ化と次元圧縮ができます。

強化学習は、上記の2つの学習とは性質が異なります。強化学習では、機械が自ら学習しながら処理を最適化します。

評価

モデル作成フェーズで作製したモデルが、分析の目標とビジネス目的を達成できるかを評価します。結果から、具体的なアクション(打ち手)につなげられなければ成功したとは言えません。評価の結果、ビジネス目的を達成できなければ、ビジネス理解のフェーズに戻って、再度、分析の目標と成功の判定基準を設定しなおします。また、データ準備のフェーズに戻って特徴量を再度作成、モデル作成のフェーズに戻ってモデルを再作成することもあります。

共有・展開

データ分析で得られた結果をビジネスに適用するために具体的な計画を立案し、実施するプロセスです。既存の業務フローへ展開・共有して組み込みます。効果をモニタリング・フィードバックし、さらなる改善に活かすようにしましょう。

モデルの価値を継続的に保つには、常にモデルを最新の状態にしておく必要があります。モデルを更新せず長期に使い続けてしまうと、分析の価値が下がってしまいます。ただし、モデル更新の頻度はビジネスの目的によって異なります。

スポンサーリンク

まとめ

いかがでしたか?今回はコードを全く書かずに、データ分析のプロセスについて整理しました。やみくもにデータをいじくりまわすよりも、フレームワーク化されている方が、取り組みやすいですね。自分がいま、どのプロセスの作業をしているのか、を意識しながら進めるとよさそうですね。今回、データ分析プロセスを学ぶにあたっては、以下を参考にしました。

  • 機械学習のための「前処理」入門((株)リックテレコム:足立 悠[著])

コメント

タイトルとURLをコピーしました