データ分析をこれから始める方、いざ実際にデータ分析を始めてみると
- 結局何からしていいかわからない
- 分析手法を勉強したのでやってみたけどうまくいかない
と思っている方が多いのではないでしょうか。今回はそんな方に向け、データ分析で実際に行うことを入門者にわかるように解説していきます。
データ分析とは
データ分析は、既存データから有用な情報を探し出すプロセスです。ただ、正しく情報が分析できないと「成績向上対策として、身長が高いほど成績が高いことが判明したので、みんなで身長を伸ばそう!」という意味の分からない対策が出てくることになります。
このような解析にならないように、今回は有名なデータ分析のプロセス「CRISP-DM」に従ってデータ分析の流れを紹介していきます。
先ほどの間違えた例「成績と身長の関係」については以下の記事で詳しく解説しています。
CRISP-DMを理解することにより、
- 冒頭の例のような問題の解決にならない対策を導き出さない
- 解析の効果が出ているか出ていないかがわからない
- 解析中にデータ不足で何度もやり直しが発生する
といったことを回避できます。
データ分析理解の前にやっておくこと
次の項目からCRISP-DMの解説に入っていきますが、これは全体の流れを示しているだけで、分析手法やPythonなどは別に学ぶ必要があります。CRISP-DMに先駆けて学んでおくべきことを以下に挙げます。
- Pythonの基礎学習
- 機械学習手法
- データ分析手法
Python
解析の手法を実行する方法として、Pythonの学習をお勧めします。様々な分析手法はPythonを用いることにより簡単に実装することが可能です。
以下の記事ではPython学習をこれから始める方におすすめの参考書を紹介しています。
機械学習手法
集めたデータを実際に分析するための機械学習手法の学習は以下のページを参考にしてください。覚えておきたい機械学習手法はいくつかありますが、まずは決定木から覚えるのがよいのではないでしょうか。
データ分析手法
データの分析について、具体的に分析する際の手法に関しては以下の記事を参考にしてください。
CRISP-DM
データ分析の流れにおいて、最初はとかく「モデル作成」に注視しがちです。しかし、実際にはデータの理解やビジネス領域の理解が非常に重要になります。このデータ分析の流れをまとめたものとして有名なものに「CRISP-DM」があります。
CRISP-DMとは
CRISP-DM(CRoss-Industry Standard Process for Data Mining)とはデータ分析プロセスのことで、データを効率的に分析するプロセスモデルです。
このようなモデルで表され、データ分析を進める手順がまとめられています。今回はその中から初学者が理解をしておくべき点を中心に解説していきます。
「Pythonでデータ分析」というと、どうしても機械学習モデルを作成することに注意が行きがちですが、「Garbage In, Garbage Out」という言葉があるようによいデータを準備しないと作成したモデルは役に立たないどころか、良いモデルさえ作成することができません。CRISP-DMをマスターして効率のよいデータ分析を目指しましょう。
- 分析全体の流れ
- ビジネス理解
- データ理解
- データ準備
- モデリング
- 評価
- 展開
①分析全体の流れ
全体の流れは冒頭の図に示してある通りです。見ていただくとわかる通り、解析結果を評価して場合によっては展開せずに最初に戻るようになっています。
これは重要で、データ分析はデータを分析することが目的でなく、何かの目的のためにデータを分析しているはずです。例えば「利益を上げるにはどうしたらよいか」とか、「安価でよい特性の製品を作るための材料配合」などの結果を得るために分析をしています。
しかし、当初の目的を忘れて「設備投資すれば売り上げが上がるので、利益を圧迫してでもどんどん設備投資しよう!」とか、「添加剤を増やせば増やすほど性能が上がるので、価格が上がってでも高価な添加剤をどんどん入れよう!」という当初の目的から外れる結論が出ることはよくあります。
そのようなことが起こらないように、このサイクルに従って分析をしていくことは非常に有効です。
②ビジネス理解(Business Understanding)
ここで目標と成否の判定基準を確認します。また、そのビジネス領域がどのようなものか理解しておくことも重要です。
例えば食品を生産する場合、生産サイクルを短くすれば利益は上がることが想定されますが、加熱時間が短いと製品として品質を確保できないことは容易に想像できます。技術的にどの前提条件でデータを検証するかという検討は必要ですし、本当の目的として何をしたいかを決めておくことは非常に重要です。
③データ理解(Data Understanding)
手元にあるデータを理解します。先ほどの目的に対して現在のデータが状況を表しているのか?このデータがあれば目的を達成する結論が導き出せそうなのか?を検証します。
特にPythonを使用すればグラフなどで見える化してデータの特徴をとらえたり、そのデータの構造を分析して情報を過不足なく説明できているかの検証が簡単に行えます。以下の記事にはグラフで見える化する方法について言及されていますので参考にしてください。
これは先ほどのビジネス理解と密接に関係しており、この領域を理解したうえで、もしくはその知識がある人間と一緒に進めることが重要です。
注目すべき点はビジネス理解と矢印が相互に出ているところです。データを理解して、そもそもこのデータでは当初の目的を検証しきれないと思ったら目的設定自体に問題があるのかもしれませんし、必要なデータを追加で準備する必要があるのかもしれません。ここを行ったり来たりしてデータ理解までの準備をします。
④データ準備(Data Preparation)
手元のデータを解析できるように準備します。データは目的に応じてアンケートなどの言語データであったり、不良品判別のための画像データであったり、生産情報などのテーブルデータであったりと形態は様々です。
このデータを次のモデリングで使用できるデータにしていきます。こちらもPythonを用いると非常に簡単に処理が可能です。具体的にどのようなことをするかは以下の記事を参考にしてください。こちらの記事では現在のデータをモデルにどのような特徴量として渡してやるかを解説しています。
ただ、図にあるようにモデル作成とは矢印がお互いに出ています。これは、実際にモデルを作成して気が付くことや、少しモデルを作成してみないとどのようなデータに加工したらよいかわからない場合もあるためです。
したがって、ある程度までデータを準備したら次のフェーズに進んでみることも必要です。
⑤モデリング(Modeling)
ここにきてやっとモデリングに取り掛かります。データ分析というと、どうしてもモデリングにイメージが行きがちですが、ここまでの一連の流れの中にモデリングがあることを理解するのは非常に大切です。
モデルに関しては大きく分けると機械学習手法とニューラルネットワークによる手法があります。こちらもPythonを使用することにより簡単に実装が可能です。まずは機械学習手法を習得し、データ分析ができるようにしてください。まず覚える手法として先ほど紹介した「決定木」から順に覚えていくとよいでしょう。
⑥評価(Evaluation)
ビジネス理解の部分で決めた目標に対して解析結果が妥当であったかどうかを検証します。これは当初の計画を上回ったかどうかだけでなく、総合的に結果を判断する必要があります。また、矢印の流れを見てわかるように、場合によってはビジネス理解に戻ることも検討する必要があります。
実際にデータを分析してみると、当初の計画が達成できないことが判明してしまったり、目標を見直す必要が出てくることもあります。そのため、一部目標を下げて展開するのか、もしくはそもそもビジネス理解からやり直すのか考える必要があります。
⑦展開(Deployment)
分析結果を既存のフローへ展開します。
『Tech Teacher』3つの魅力
魅力1. オーダーメイドのカリキュラム
『Tech Teacher』では、決められたカリキュラムがなくオーダーメイドでカリキュラムを組んでいます。「質問だけしたい」「相談相手が欲しい」等のご要望も実現できます。
魅力2. 担当教師によるマンツーマン指導
Tech Teacherでは、完全マンツーマン指導で目標達成までサポートします。
東京大学を始めとする難関大学の理系学生・院生・博士の教師がが1対1で、丁寧に指導しています。
そのため、理解できない箇所は何度も分かるまで説明を受けることができます。
魅力3. 3,960円/30分で必要な分だけ受講
Tech Teacherでは、授業を受けた分だけ後払いの「従量課金制」を採用しているので、必要な分だけ授業を受講することができます。また、初期費用は入会金22,000円のみです。一般的なプログラミングスクールとは異なり、多額な初期費用がかからないため、気軽に学習を始めることができます。
まとめ
・魅力1. 担当教師によるマンツーマン指導
・魅力2. オーダーメイドのカリキュラム
・魅力3. 3,960円/30分で必要な分だけ受講
質問のみのお問い合わせも受け付けております。
まとめ
今回はCRISP-DMを中心にデータ分析の流れを確認しました。CRISP-DMは効率の良いデータ分析の方法なので、これを理解の上データ分析に役立ててください。