学習方法

【データ分析入門】超重要!分析の流れCRISP-DMを理解する!

データ分析をこれから始める方、いざ実際にデータ分析を始めてみると

  • 結局何からしていいかわからない
  • 分析手法を勉強したのでやってみたけどうまくいかない

と思っている方が多いのではないでしょうか。今回はそんな方に向け、データ分析で実際に行うことを入門者にわかるように解説していきます。

データ分析とは

データ分析は、既存データから有用な情報を探し出すプロセスです。ただ、正しく情報が分析できないと「成績向上対策として、身長が高いほど成績が高いことが判明したので、みんなで身長を伸ばそう!」という意味の分からない対策が出てくることになります。

このような解析にならないように、今回は有名なデータ分析のプロセス「CRISP-DM」に従ってデータ分析の流れを紹介していきます。

先ほどの間違えた例「成績と身長の関係」については以下の記事で詳しく解説しています。

【1分でわかる】特徴量エンジニアリングの進め方機械学習でモデル精度を上げようとすると突き当たる特徴量エンジニアリング。重要であることは理解できるけどなんで?またどうしたらいいの?という疑問に答えていきたいと思います。...
この記事でわかること

CRISP-DMを理解することにより、

  • 冒頭の例のような問題の解決にならない対策を導き出さない
  • 解析の効果が出ているか出ていないかがわからない
  • 解析中にデータ不足で何度もやり直しが発生する

といったことを回避できます。

データ分析理解の前にやっておくこと

次の項目からCRISP-DMの解説に入っていきますが、これは全体の流れを示しているだけで、分析手法やPythonなどは別に学ぶ必要があります。CRISP-DMに先駆けて学んでおくべきことを以下に挙げます。

  • Pythonの基礎学習
  • 機械学習手法
  • データ分析手法

Python

解析の手法を実行する方法として、Pythonの学習をお勧めします。様々な分析手法はPythonを用いることにより簡単に実装することが可能です。

Pythonとは?特徴やできること、学習するメリットを解説次のページ この記事では、「Pythonとは何か?」について解説していきます。 ・Pythonってよく聞くけど、どんな特徴がある...

以下の記事ではPython学習をこれから始める方におすすめの参考書を紹介しています。

【入門】データサイエンス初学者へのPythonオススメ本3選!本記事ではデータサイエンスやPythonで実現したいことがある初心者向けに、Python学習の導入へのオススメ本を紹介しています。データサイエンスの学習を始めるにあたり、Python学習は切っても切れないものですので、必見です!...

機械学習手法

集めたデータを実際に分析するための機械学習手法の学習は以下のページを参考にしてください。覚えておきたい機械学習手法はいくつかありますが、まずは決定木から覚えるのがよいのではないでしょうか。

【1分でわかる】初心者でも簡単にPythonで決定木の実装ができるやり方を学ぶ!機械学習の基礎である決定木を、概要の解説からPythonで初心者でも簡単に実装する方法、結果の表示のやり方までわかりやすく解説していきます。また、graphvizで表示する方法まで合わせて解説しています。本記事により適切に決定木を用いてデータの分析に役立てていただければと思います。...

データ分析手法

データの分析について、具体的に分析する際の手法に関しては以下の記事を参考にしてください。

データ分析入門:初学者向けのおすすめ本3選【2024年版】本記事ではデータ分析の初学者向けに、データ分析・データサイエンスの導入にオススメの本を5つ紹介しています。ご自身の学習状況に合わせたおすすめ参考書ロードマップも示しています。...

CRISP-DM

データ分析の流れにおいて、最初はとかく「モデル作成」に注視しがちです。しかし、実際にはデータの理解やビジネス領域の理解が非常に重要になります。このデータ分析の流れをまとめたものとして有名なものに「CRISP-DM」があります。

CRISP-DMとは

CRISP-DM(CRoss-Industry Standard Process for Data Mining)とはデータ分析プロセスのことで、データを効率的に分析するプロセスモデルです。

このようなモデルで表され、データ分析を進める手順がまとめられています。今回はその中から初学者が理解をしておくべき点を中心に解説していきます。

「Pythonでデータ分析」というと、どうしても機械学習モデルを作成することに注意が行きがちですが、「Garbage In, Garbage Out」という言葉があるようによいデータを準備しないと作成したモデルは役に立たないどころか、良いモデルさえ作成することができません。CRISP-DMをマスターして効率のよいデータ分析を目指しましょう。

  1. 分析全体の流れ
  2. ビジネス理解
  3. データ理解
  4. データ準備
  5. モデリング
  6. 評価
  7. 展開

①分析全体の流れ

全体の流れは冒頭の図に示してある通りです。見ていただくとわかる通り、解析結果を評価して場合によっては展開せずに最初に戻るようになっています。

これは重要で、データ分析はデータを分析することが目的でなく、何かの目的のためにデータを分析しているはずです。例えば「利益を上げるにはどうしたらよいか」とか、「安価でよい特性の製品を作るための材料配合」などの結果を得るために分析をしています。

しかし、当初の目的を忘れて「設備投資すれば売り上げが上がるので、利益を圧迫してでもどんどん設備投資しよう!」とか、「添加剤を増やせば増やすほど性能が上がるので、価格が上がってでも高価な添加剤をどんどん入れよう!」という当初の目的から外れる結論が出ることはよくあります

そのようなことが起こらないように、このサイクルに従って分析をしていくことは非常に有効です。

②ビジネス理解(Business Understanding)

ここで目標と成否の判定基準を確認します。また、そのビジネス領域がどのようなものか理解しておくことも重要です。

例えば食品を生産する場合、生産サイクルを短くすれば利益は上がることが想定されますが、加熱時間が短いと製品として品質を確保できないことは容易に想像できます。技術的にどの前提条件でデータを検証するかという検討は必要ですし、本当の目的として何をしたいかを決めておくことは非常に重要です。

③データ理解(Data Understanding)

手元にあるデータを理解します。先ほどの目的に対して現在のデータが状況を表しているのか?このデータがあれば目的を達成する結論が導き出せそうなのか?を検証します。

特にPythonを使用すればグラフなどで見える化してデータの特徴をとらえたり、そのデータの構造を分析して情報を過不足なく説明できているかの検証が簡単に行えます。以下の記事にはグラフで見える化する方法について言及されていますので参考にしてください。

【1分で理解】Pythonでの主成分分析の方法を解説!グラフ化で特徴把握PythonのSklearnを使用して、主成分分析を行って情報を二次元グラフに落とし込んで画像で見えるようにします。寄与率に関しても確認方法を見ていきましょう。...

これは先ほどのビジネス理解と密接に関係しており、この領域を理解したうえで、もしくはその知識がある人間と一緒に進めることが重要です。

注目すべき点はビジネス理解と矢印が相互に出ているところです。データを理解して、そもそもこのデータでは当初の目的を検証しきれないと思ったら目的設定自体に問題があるのかもしれませんし、必要なデータを追加で準備する必要があるのかもしれません。ここを行ったり来たりしてデータ理解までの準備をします

④データ準備(Data Preparation)

手元のデータを解析できるように準備します。データは目的に応じてアンケートなどの言語データであったり、不良品判別のための画像データであったり、生産情報などのテーブルデータであったりと形態は様々です。

このデータを次のモデリングで使用できるデータにしていきます。こちらもPythonを用いると非常に簡単に処理が可能です。具体的にどのようなことをするかは以下の記事を参考にしてください。こちらの記事では現在のデータをモデルにどのような特徴量として渡してやるかを解説しています。

【1分でわかる】特徴量エンジニアリングの進め方機械学習でモデル精度を上げようとすると突き当たる特徴量エンジニアリング。重要であることは理解できるけどなんで?またどうしたらいいの?という疑問に答えていきたいと思います。...

ただ、図にあるようにモデル作成とは矢印がお互いに出ています。これは、実際にモデルを作成して気が付くことや、少しモデルを作成してみないとどのようなデータに加工したらよいかわからない場合もあるためです。

したがって、ある程度までデータを準備したら次のフェーズに進んでみることも必要です。

⑤モデリング(Modeling)

ここにきてやっとモデリングに取り掛かります。データ分析というと、どうしてもモデリングにイメージが行きがちですが、ここまでの一連の流れの中にモデリングがあることを理解するのは非常に大切です。

モデルに関しては大きく分けると機械学習手法ニューラルネットワークによる手法があります。こちらもPythonを使用することにより簡単に実装が可能です。まずは機械学習手法を習得し、データ分析ができるようにしてください。まず覚える手法として先ほど紹介した「決定木」から順に覚えていくとよいでしょう。

【1分でわかる】初心者でも簡単にPythonで決定木の実装ができるやり方を学ぶ!機械学習の基礎である決定木を、概要の解説からPythonで初心者でも簡単に実装する方法、結果の表示のやり方までわかりやすく解説していきます。また、graphvizで表示する方法まで合わせて解説しています。本記事により適切に決定木を用いてデータの分析に役立てていただければと思います。...

⑥評価(Evaluation)

ビジネス理解の部分で決めた目標に対して解析結果が妥当であったかどうかを検証します。これは当初の計画を上回ったかどうかだけでなく、総合的に結果を判断する必要があります。また、矢印の流れを見てわかるように、場合によってはビジネス理解に戻ることも検討する必要があります。

実際にデータを分析してみると、当初の計画が達成できないことが判明してしまったり、目標を見直す必要が出てくることもあります。そのため、一部目標を下げて展開するのか、もしくはそもそもビジネス理解からやり直すのか考える必要があります。

⑦展開(Deployment)

分析結果を既存のフローへ展開します。

まとめ

今回はCRISP-DMを中心にデータ分析の流れを確認しました。CRISP-DMは効率の良いデータ分析の方法なので、これを理解の上データ分析に役立ててください。