データ分析-の波乗り遅れた気がしてる人のための...

100
"データ分析"の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎_v1.0 ~Pythonもデータ分析もまったくの素人なやつが、 データ分析に入門する前の超基礎の基礎を完全素人目線でまとめてみた~ @afroscript

Upload: yusaku-kinoshita

Post on 21-Apr-2017

1.900 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

"データ分析"の波乗り遅れた気がしてる人のための

Python×データ分析の超基礎の基礎_v1.0

~Pythonもデータ分析もまったくの素人なやつが、

データ分析に入門する前の超基礎の基礎を完全素人目線でまとめてみた~

@afroscript

Page 2: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

本日のスライド枚数

Page 3: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

100枚!!

Page 4: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

最高記録への挑戦っ!!

Page 5: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

神速でいきます

Page 6: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

まずは…

Page 7: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

自己紹介

■名前:

 木下 雄策(27歳・福岡出身) @afroscript10

■略歴:

 九州大学大学院で宇宙の研究

 2013年 レバレジーズ入社

■今のお仕事:

 日本のエンジニア業界を最強にすること!! ・エンジニア特化型Q&Aサイト【teratail】のDevRel担当

 ・年に50回くらいイベントやってます

■その他

 ・Gs'ACADEMY2期生/WebGLスクール3期生

 ・LIGブログ「0エンジニアから0.5エンジニアへ」連載中

 ・元アフロ、フリースタイルバスケットボーラー

 ・最近は、Web3DやWebVRが好き

Page 8: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

では、始めます

Page 9: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

今回発表の目的

Page 10: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

「データ分析」って昨今やたらと言われ続けてるし、「そのうち勉強したいな〜」なんて思ってはいるんだけど、気づけばあと回しにしてて、乗り遅れた気がしている…

Page 11: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

そんな1ヶ月前の僕みたいな人のために、完全に素人目線からPython×データ分析の超基礎の基礎を

まとめてみました:)

どんなライブラリ使うの??

どんな環境でやるの??

そもそもデータ分析って何するの?

Page 12: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

これを機に、データ分析ちょっとやってみるか!ってゆうきっかけになればうれしいです。:)

Page 13: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

注意点

Page 14: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

めっっっっっちゃ初心者向けです!!

Page 15: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

今回はデータ分析のための環境準備とデータ可視化基礎の一部を紹介するのみです。

Page 16: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

この資料みてもデータ分析から何か生み出せるまでは至らないと思いますが、

そのための基礎固めくらいにはなるのではと:)

Page 17: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

より実用的なデータ分析手法やPythonでのその実現方法などは、僕の勉強が進むにつれvol.2とかでまとめてくと思います。

(多分!!)

Page 18: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

目次

Page 19: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

●そもそもデータ分析って何なんだろう?

●Pythonでデータ分析するのに最低限必要そうなもの

●データ分析のための超基礎の基礎ワード

●データの可視化基礎の基礎

 ・箱ひげ図

 ・ヒストグラム

 ・散布図

●代表的な分析手法 → 今後勉強すべき分析手法

 ・その1:仮説検定(それって本当に関連性あるの?) ・その2:ロジスティック回帰分析(どの要素が結果にコミットしたの?) ・その3:クラスター分析(なんかいい具合にグループ分けしてくれるやつ) ・その4:決定木(機械学習の第一歩)●まとめ

目次

Page 20: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

そもそもデータ分析って何なんだろう?(完全素人目線)

Page 21: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■「データ分析」=「データ」+「分析」

そもそもデータ分析って何?(完全素人目線)

Page 22: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■「データ分析」=「データ」+「分析」

●「データ」とは?

●「分析」とは?

 

●「データ分析」とは?

そもそもデータ分析って何?(完全素人目線)

Page 23: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■「データ分析」=「データ」+「分析」

●「データ」とは?

 →複数の事実や事象、資料、数値の集まり

●「分析」とは?

 

●「データ分析」とは?

そもそもデータ分析って何?(完全素人目線)

Page 24: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■「データ分析」=「データ」+「分析」

●「データ」とは?

 →複数の事実や事象、資料、数値の集まり

●「分析」とは?

 →ある物事を分解して、それを成立させている成分・要素・側面を

  明らかにすること

 

●「データ分析」とは?

※参考:wikipedia

そもそもデータ分析って何?(完全素人目線)

Page 25: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■「データ分析」=「データ」+「分析」

●「データ」とは?

 →複数の事実や事象、資料、数値の集まり

●「分析」とは?

 →ある物事を分解して、それを成立させている成分・要素・側面を

  明らかにすること

 

●「データ分析」とは?

 →複数の事実や事象、資料、数値の集まりを分解して、

  それを成立させている成分・要素・側面を明らかにすること

そもそもデータ分析って何?(完全素人目線)

Page 26: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■「データ分析」=「データ」+「分析」

●「データ」とは?

 →複数の事実や事象、資料、数値の集まり

●「分析」とは?

 →ある物事を分解して、それを成立させている成分・要素・側面を

  明らかにすること

 

●「データ分析」とは?

 →複数の事実や事象、資料、数値の集まりを分解して、

  それを成立させている成分・要素・側面を明らかにすること

 →「データの準備」と「分解方法」と「結果の考察」がざっくり必要そうな感じ

そもそもデータ分析って何?(完全素人目線)

Page 27: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

Pythonでデータ分析するのに必要なもの

Page 28: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■とりあえず「Python」を入れる(今回は3.5.2使った) https://www.python.org/downloads/  ※「Download Python 3.5.●」をクリック

Pythonでデータ分析するのに必要なもの(1/4)

Page 29: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■とりあえず「Python」を入れる(今回は3.5.2使った) https://www.python.org/downloads/  ※「Download Python 3.5.●」をクリック

■次に「ANACONDA」を入れる(Win/Macどっちもやったけど、やっぱMacがよさげ) →Pythonの主要ライブラリを一括でインストールできるってゆう、

  なんだか便利な素敵パッケージ

 https://www.continuum.io/downloads ※「Download for ●●」をクリック

Pythonでデータ分析するのに必要なもの(1/4)

Page 30: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■こんなライブラリを使います(ANACONDAにすでに含まれているもの)

Pythonでデータ分析するのに必要なもの(2/4)

Page 31: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■こんなライブラリを使います(ANACONDAにすでに含まれているもの)●「NumPy」(ナムパイ/ナンパイ) →データ整理に必要な関数がいっぱい。

  array(配列)とかrandom(乱数)とか使う感じ

Pythonでデータ分析するのに必要なもの(2/4)

Page 32: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■こんなライブラリを使います(ANACONDAにすでに含まれているもの)●「NumPy」(ナムパイ/ナンパイ) →データ整理に必要な関数がいっぱい。

  array(配列)とかrandom(乱数)とか使う感じ

●「Pandas」  →データ解析を支援する機能がいっぱい入ったライブラリ。

   SeriesやDataFrameとかのデータ型使える

Pythonでデータ分析するのに必要なもの(2/4)

Page 33: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■こんなライブラリを使います(ANACONDAにすでに含まれているもの)●「NumPy」(ナムパイ/ナンパイ) →データ整理に必要な関数がいっぱい。

  array(配列)とかrandom(乱数)とか使う感じ

●「Pandas」  →データ解析を支援する機能がいっぱい入ったライブラリ。

   SeriesやDataFrameとかのデータ型使える

●「SciPy」(サイパイ)  →Science+Python。多分NumPyよりももっと科学寄りなことまできるっぽい

Pythonでデータ分析するのに必要なもの(2/4)

Page 34: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■こんなライブラリを使います(ANACONDAにすでに含まれているもの)●「NumPy」(ナムパイ/ナンパイ) →データ整理に必要な関数がいっぱい。

  array(配列)とかrandom(乱数)とか使う感じ

●「Pandas」  →データ解析を支援する機能がいっぱい入ったライブラリ。

   SeriesやDataFrameとかのデータ型使える

●「SciPy」(サイパイ)  →Science+Python。多分NumPyよりももっと科学寄りなことまできるっぽい

●「matplotlib」  →PythonやNumPyのためのグラフ描画ライブラリ

Pythonでデータ分析するのに必要なもの(2/4)

Page 35: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■こんなライブラリを使います(ANACONDAにすでに含まれているもの)●「NumPy」(ナムパイ/ナンパイ) →データ整理に必要な関数がいっぱい。

  array(配列)とかrandom(乱数)とか使う感じ

●「Pandas」  →データ解析を支援する機能がいっぱい入ったライブラリ。

   SeriesやDataFrameとかのデータ型使える

●「SciPy」(サイパイ)  →Science+Python。多分NumPyよりももっと科学寄りなことまできるっぽい

●「matplotlib」  →PythonやNumPyのためのグラフ描画ライブラリ

●「beautifulsoup4」  →WebからとってきたHTMLファイルのデータや表データを取り扱う

   (僕はまだほとんど使ってないです )

Pythonでデータ分析するのに必要なもの(2/4)

Page 36: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■その他こんなライブラリを使う

 (ANACONDAに入ってないので別途インストールする)

Pythonでデータ分析するのに必要なもの(2/4)

Page 37: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■その他こんなライブラリを使う

 (ANACONDAに入ってないので別途インストールする)

●「Seaborn」 →matplotlibよりも美しいグラフが描画できると言われているライブラリ

Pythonでデータ分析するのに必要なもの(2/4)

Page 38: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■その他こんなライブラリを使う

 (ANACONDAに入ってないので別途インストールする)

●「Seaborn」 →matplotlibよりも美しいグラフが描画できると言われているライブラリ

●「html5lib」 →WebからとってきたHTMLファイルのデータを取り扱う?

  (僕まだほとんど使ってない)

Pythonでデータ分析するのに必要なもの(2/4)

Page 39: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■その他こんなライブラリを使う

 (ANACONDAに入ってないので別途インストールする)

●「Seaborn」 →matplotlibよりも美しいグラフが描画できると言われているライブラリ

●「html5lib」 →WebからとってきたHTMLファイルのデータを取り扱う?

  (僕まだほとんど使ってない)

※ライブラリのインストール方法 (ターミナルから下記どちらかのコマンドで ) conda install *インストールするライブラリの名前 * ←ANACONDA入ってる場合に使える pip install *インストールするライブラリの名前 *

Pythonでデータ分析するのに必要なもの(2/4)

Page 40: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■IPython notebook(Jupyter)

Pythonでデータ分析するのに必要なもの(4/4)

Page 41: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■IPython notebook(Jupyter)●ターミナルから下記コマンドで起動(PythonとANACONDAが入ってたら起動する) $ ipython notebook

Pythonでデータ分析するのに必要なもの(4/4)

Page 42: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■IPython notebook(Jupyter)●ターミナルから下記コマンドで起動(PythonとANACONDAが入ってたら起動する) $ ipython notebook

●すると、下記のようなのがブラウザで立ち上がるので、ここで作業していく。

Pythonでデータ分析するのに必要なもの(4/4)

Page 43: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■IPython notebook(Jupyter)で新しいファイルを作成

Pythonでデータ分析するのに必要なもの(4/4)

Page 44: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■IPython notebook(Jupyter)で新しいファイルを作成

●「NEW▼」から「Python [Root]」をクリックすると、ファイルが生成される

Pythonでデータ分析するのに必要なもの(4/4)

Page 45: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■IPython notebook(Jupyter)で新しいファイルを作成

●「NEW▼」から「Python [Root]」をクリックすると、ファイルが生成される

Pythonでデータ分析するのに必要なもの(4/4)

●こんな画面

Page 46: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■IPython notebook(Jupyter)で新しいファイルを作成

●「NEW▼」から「Python [Root]」をクリックすると、ファイルが生成される

Pythonでデータ分析するのに必要なもの(4/4)

●こんな画面(※「Control+Enter」or「 Shift+Enter」で実行結果を返してくれる)

Page 47: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

データ分析のための超基礎の基礎用語

今47枚!

Page 48: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■基礎用語をひとまず並べてみる

データ分析のための超基礎用語(1/4)

Page 49: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■基礎用語をひとまず並べてみる

●最大値

●最小値

データ分析のための超基礎用語(1/4)

Page 50: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■基礎用語をひとまず並べてみる

●最大値

●最小値

●代表値

データ分析のための超基礎用語(1/4)

Page 51: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■基礎用語をひとまず並べてみる

●最大値

●最小値

●代表値

 ┗平均値

 ┗中央値(メディアン) ┗最頻値(モード)

データ分析のための超基礎用語(1/4)

Page 52: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■基礎用語をひとまず並べてみる

●最大値

●最小値

●代表値

 ┗平均値

 ┗中央値(メディアン)→小さい順に並べた真ん中のデータの値

 ┗最頻値(モード)→最も多く出てくるデータの値

データ分析のための超基礎用語(1/4)

Page 53: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■基礎用語をひとまず並べてみる

●最大値

●最小値

●代表値

 ┗平均値

 ┗中央値(メディアン)→小さい順に並べた真ん中のデータの値

 ┗最頻値(モード)→最も多く出てくるデータの値

●四分位点

データ分析のための超基礎用語(1/4)

Page 54: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■基礎用語をひとまず並べてみる

●最大値

●最小値

●代表値

 ┗平均値

 ┗中央値(メディアン)→小さい順に並べた真ん中のデータの値

 ┗最頻値(モード)→最も多く出てくるデータの値

●四分位点→小さい順に並べて四等分してたときの境界線

データ分析のための超基礎用語(1/4)

Page 55: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■基礎用語をひとまず並べてみる

●最大値

●最小値

●代表値

 ┗平均値

 ┗中央値(メディアン)→小さい順に並べた真ん中のデータの値

 ┗最頻値(モード)→最も多く出てくるデータの値

●四分位点→小さい順に並べて四等分してたときの境界線

●箱ひげ図(plot box)

●分散(標準偏差)●ヒストグラム(度数分布図)●散布図

データ分析のための超基礎用語(1/4)

Page 56: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■基礎用語をひとまず並べてみる

●最大値

●最小値

●代表値

 ┗平均値

 ┗中央値(メディアン)→小さい順に並べた真ん中のデータの値

 ┗最頻値(モード)→最も多く出てくるデータの値

●四分位点→小さい順に並べて四等分してたときの境界線

●箱ひげ図(plot box)→最小値、第1四分位点、中央値(第2四分位点)、          第3四分位点、最大値をプロットした図

●分散(標準偏差)→データの「ひろがり」「ばらつき」を表す。

●ヒストグラム(度数分布図)●散布図

データ分析のための超基礎用語(1/4)

Page 57: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■基礎用語をひとまず並べてみる

●最大値

●最小値

●代表値

 ┗平均値

 ┗中央値(メディアン)→小さい順に並べた真ん中のデータの値

 ┗最頻値(モード)→最も多く出てくるデータの値

●四分位点→小さい順に並べて四等分してたときの境界線

●箱ひげ図(plot box)→最小値、第1四分位点、中央値(第2四分位点)、          第3四分位点、最大値をプロットした図

●分散(標準偏差)→データの「ひろがり」「ばらつき」を表す。

●ヒストグラム(度数分布図)●散布図

データ分析のための超基礎用語(1/4)

図で説明していきます!

Page 58: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■最大値/最小値/代表値(平均値/中央値/最頻値)/四分位点/箱ひげ図のイメージ

データ分析のための超基礎用語(2/4)

※参考:http://www.kousotu.com/lect_math/d03.php

Page 59: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■最大値/最小値/代表値(平均値/中央値/最頻値)/四分位点/箱ひげ図のイメージ

データ分析のための超基礎用語(2/4)

※参考:http://www.kousotu.com/lect_math/d03.php

小さい順に並べておく

Page 60: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■最大値/最小値/代表値(平均値/中央値/最頻値)/四分位点/箱ひげ図のイメージ

データ分析のための超基礎用語(2/4)

※参考:http://www.kousotu.com/lect_math/d03.php

●中央値(小さい順の真ん中のデータの値 ) →今回は「6」

Page 61: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■最大値/最小値/代表値(平均値/中央値/最頻値)/四分位点/箱ひげ図のイメージ

データ分析のための超基礎用語(2/4)

※参考:http://www.kousotu.com/lect_math/d03.php

●中央値(小さい順の真ん中のデータの値 ) →今回は「6」●最頻値(最も多く出てくるデータの値 ) →今回は「4」と「9」

Page 62: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■最大値/最小値/代表値(平均値/中央値/最頻値)/四分位点/箱ひげ図のイメージ

データ分析のための超基礎用語(2/4)

※参考:http://www.kousotu.com/lect_math/d03.php

●中央値(小さい順の真ん中のデータの値 ) →今回は「6」●最頻値(最も多く出てくるデータの値 ) →今回は「4」と「9」●四分位点

 →小さい順に並べて四等分したときの境界線

  小さい方から順に第 1、第2、第3四方分位点と呼ぶ

  (第2四分位点=中央値となる )

Page 63: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■最大値/最小値/代表値(平均値/中央値/最頻値)/四分位点/箱ひげ図のイメージ

データ分析のための超基礎用語(2/4)

※参考:http://www.kousotu.com/lect_math/d03.php

●中央値(小さい順の真ん中のデータの値 ) →今回は「6」●最頻値(最も多く出てくるデータの値 ) →今回は「4」と「9」●四分位点

 →小さい順に並べて四等分したときの境界線

  小さい方から順に第 1、第2、第3四方分位点と呼ぶ

  (第2四分位点=中央値となる )

<箱ひげ図>

Page 64: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■最大値/最小値/代表値(平均値/中央値/最頻値)/四分位点/箱ひげ図のイメージ

データ分析のための超基礎用語(2/4)

※参考:http://www.kousotu.com/lect_math/d03.php

●中央値(小さい順の真ん中のデータの値 ) →今回は「6」●最頻値(最も多く出てくるデータの値 ) →今回は「4」と「9」●四分位点

 →小さい順に並べて四等分したときの境界線

  小さい方から順に第 1、第2、第3四方分位点と呼ぶ

  (第2四分位点=中央値となる )●箱ひげ図

 →最小値、第1四分位点、中央値 (第2四分位点)、  第3四分位点、最大値を左のようにプロットした図

<箱ひげ図>

Page 65: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■最大値/最小値/代表値(平均値/中央値/最頻値)/四分位点/箱ひげ図のイメージ

データ分析のための超基礎用語(2/4)

※参考:http://www.kousotu.com/lect_math/d03.php

●中央値(小さい順の真ん中のデータの値 ) →今回は「6」●最頻値(最も多く出てくるデータの値 ) →今回は「4」と「9」●四分位点

 →小さい順に並べて四等分したときの境界線

  小さい方から順に第 1、第2、第3四方分位点と呼ぶ

  (第2四分位点=中央値となる )●箱ひげ図

 →最小値、第1四分位点、中央値 (第2四分位点)、  第3四分位点、最大値を左のようにプロットした図

 →なんかいろいろ見えてくる便利な図!

<箱ひげ図>

Page 66: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■分散(標準偏差)/ヒストグラム(度数分布表)

データ分析のための超基礎用語(3/4)

Page 67: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■分散(標準偏差)/ヒストグラム(度数分布表)

データ分析のための超基礎用語(3/4)

※参考:http://www.ikpi.co.jp/knowledge/valuation/valuation_file100.htmlhttps://www1.doshisha.ac.jp/~mjin/R/63/fig01.PNG

●ヒストグラム(度数分布表)

Page 68: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■分散(標準偏差)/ヒストグラム(度数分布表)

データ分析のための超基礎用語(3/4)

※参考:http://www.ikpi.co.jp/knowledge/valuation/valuation_file100.htmlhttps://www1.doshisha.ac.jp/~mjin/R/63/fig01.PNG

●ヒストグラム(度数分布表) →データがどう分布するかを分かりやすく可視化する方法の中で、

  最も直感的かつ手っ取り早いグラフ 。

Page 69: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■分散(標準偏差)/ヒストグラム(度数分布表)

データ分析のための超基礎用語(3/4)

※参考:http://www.ikpi.co.jp/knowledge/valuation/valuation_file100.htmlhttps://www1.doshisha.ac.jp/~mjin/R/63/fig01.PNG

●ヒストグラム(度数分布表) →データがどう分布するかを分かりやすく可視化する方法の中で、

  最も直感的かつ手っ取り早いグラフ 。

  ※注意:値の大小とその頻度だけを見るものなので、

      時系列での順番や値同士の関係性は表せない

Page 70: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■分散(標準偏差)/ヒストグラム(度数分布表)

データ分析のための超基礎用語(3/4)

※参考:http://www.ikpi.co.jp/knowledge/valuation/valuation_file100.htmlhttps://www1.doshisha.ac.jp/~mjin/R/63/fig01.PNG

●ヒストグラム(度数分布表) →データがどう分布するかを分かりやすく可視化する方法の中で、

  最も直感的かつ手っ取り早いグラフ 。

  ※注意:値の大小とその頻度だけを見るものなので、

      時系列での順番や値同士の関係性は表せない

●分散(標準偏差)

Page 71: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■分散(標準偏差)/ヒストグラム(度数分布表)

データ分析のための超基礎用語(3/4)

※参考:http://www.ikpi.co.jp/knowledge/valuation/valuation_file100.htmlhttps://www1.doshisha.ac.jp/~mjin/R/63/fig01.PNG

●ヒストグラム(度数分布表) →データがどう分布するかを分かりやすく可視化する方法の中で、

  最も直感的かつ手っ取り早いグラフ 。

  ※注意:値の大小とその頻度だけを見るものなので、

      時系列での順番や値同士の関係性は表せない

●分散(標準偏差) →データの「ひろがり」「ばらつき」を表す値 。

【小】

【大】

【中】

Page 72: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■分散(標準偏差)/ヒストグラム(度数分布表)

データ分析のための超基礎用語(3/4)

※参考:http://www.ikpi.co.jp/knowledge/valuation/valuation_file100.htmlhttps://www1.doshisha.ac.jp/~mjin/R/63/fig01.PNG

●ヒストグラム(度数分布表) →データがどう分布するかを分かりやすく可視化する方法の中で、

  最も直感的かつ手っ取り早いグラフ 。

  ※注意:値の大小とその頻度だけを見るものなので、

      時系列での順番や値同士の関係性は表せない

●分散(標準偏差) →データの「ひろがり」「ばらつき」を表す値 。

  「分散」が大きければデータは散らばってるし、

   小さければデータは平均値付近に集まってる。

   分散の平方根をとったものが標準偏差

【小】

【大】

【中】

Page 73: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

データ分析のための超基礎用語(4/4)■散布図

Page 74: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

データ分析のための超基礎用語(4/4)■散布図(散布図最強説もあるとかないとか。。。)

Page 75: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

データ分析のための超基礎用語(4/4)

※参考:https://upload.wikimedia.org/wikipedia/ja/d/d5/%E6%95%A3%E5%B8%83%E5%9B%B3.pnghttp://nekopuni.holy.jp/wp-content/uploads/2013/10/3.gifhttp://cdn-ak.b.st-hatena.com/entryimage/264461267-1440996366_l.jpg

普通のやつ

■散布図(散布図最強説もあるとかないとか。。。)

Page 76: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

データ分析のための超基礎用語(4/4)

※参考:https://upload.wikimedia.org/wikipedia/ja/d/d5/%E6%95%A3%E5%B8%83%E5%9B%B3.pnghttp://nekopuni.holy.jp/wp-content/uploads/2013/10/3.gifhttp://cdn-ak.b.st-hatena.com/entryimage/264461267-1440996366_l.jpg

普通のやつ 色つけたやつ

■散布図(散布図最強説もあるとかないとか。。。)

Page 77: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

データ分析のための超基礎用語(4/4)

※参考:https://upload.wikimedia.org/wikipedia/ja/d/d5/%E6%95%A3%E5%B8%83%E5%9B%B3.pnghttp://nekopuni.holy.jp/wp-content/uploads/2013/10/3.gifhttp://cdn-ak.b.st-hatena.com/entryimage/264461267-1440996366_l.jpg

普通のやつ 色つけたやつ

■散布図(散布図最強説もあるとかないとか。。。)

Page 78: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

データ分析のための超基礎用語(4/4)

※参考:https://upload.wikimedia.org/wikipedia/ja/d/d5/%E6%95%A3%E5%B8%83%E5%9B%B3.pnghttp://nekopuni.holy.jp/wp-content/uploads/2013/10/3.gifhttp://cdn-ak.b.st-hatena.com/entryimage/264461267-1440996366_l.jpg

普通のやつ 色つけたやつ5次元散布図 !?(色、球の大きさ、色の変化とかつけたやつ )

■散布図(散布図最強説もあるとかないとか。。。)

Page 79: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

データの可視化基礎の基礎

あと20枚くらい!

Page 80: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

データの可視化基礎の基礎

その1:箱ひげ図

Page 81: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■箱ひげ図の書き方

 →seabornライブラリのboxplot関数を使う

データの可視化基礎の基礎(箱ひげ図1/3)

Page 82: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■箱ひげ図の書き方

 →seabornライブラリのboxplot関数を使う

データの可視化基礎の基礎(箱ひげ図1/3)

#必要なライブラリ等の importfrom numpy.random import randnimport matplotlib.pyplot as pltimport seaborn as sns

#ブラウザ内に画像を埋め込むための命令です

%matplotlib inline

#正規分布に従う乱数を 100個用意

data1 = randn(100)

#箱ひげ図の描画

sns.boxplot(data=data1)

Page 83: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■箱ひげ図の書き方

 →2つ同時に描画はこんな感じ

データの可視化基礎の基礎(箱ひげ図2/3)

data2 = randn(100) + 2

#箱ひげ図の描画

sns.boxplot(data=[data1,data2])

Page 84: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■箱ひげ図の書き方

 →ヴァイオリンプロットってのもある

データの可視化基礎の基礎(箱ひげ図3/3)

#ヴァイオリンプロットってのもある

sns.violinplot(data=[data1,data2])

Page 85: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

データの可視化基礎の基礎

その2:ヒストグラム

Page 86: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■ヒストグラム(度数分布図)の書き方

 →matplotlibライブラリのpyplotモジュールのhist関数を使う

データの可視化基礎の基礎(ヒストグラム1/3)

Page 87: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■ヒストグラム(度数分布図)の書き方

 →matplotlibライブラリのpyplotモジュールのhist関数を使う

データの可視化基礎の基礎(ヒストグラム1/3)

#ライブラリの importfrom numpy.random import randnimport matplotlib.pyplot as plt

#ブラウザ内に画像を埋め込むための命令です

%matplotlib inline #正規分布に従う乱数データを 100個生成

dataset1= randn(100)

#ヒストグラムを描画

plt.hist(dataset1)

Page 88: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■ヒストグラム(度数分布図)の書き方

 →normed=Trueを指定して正規化できる

データの可視化基礎の基礎(ヒストグラム2/3)

#縦軸の値を、総面積を 1としたときの面積比に

してくれる

plt.hist(dataset1, normed=True)

Page 89: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■ヒストグラム(度数分布図)の書き方

 →正規化すると重ねて比較するときに便利

データの可視化基礎の基礎(ヒストグラム3/3)

#2つ目のデータを80個用意

dataset2 = randn(80)

#normed = Trueしておくと2つ重ねたときに便利

plt.hist(dataset1, normed=True, alpha=0.5, bins=20)plt.hist(dataset2, normed=True, alpha=0.5, bins=20, color='indianred')

#alpha=0.5で透明度も調整してる

#bins=20は分割数

Page 90: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

データの可視化基礎の基礎

その3:散布図

Page 91: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■散布図の書き方

 →matplotlibライブラリのpyplotモジュールのplot関数を使う、("o")を指定

データの可視化基礎の基礎(散布図1/2)

Page 92: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■散布図の書き方

 →matplotlibライブラリのpyplotモジュールのplot関数を使う、("o")を指定

データの可視化基礎の基礎(散布図1/2)

#必要なライブラリ /モジュールを importimport matplotlib.pyplot as pltfrom numpy.random import randn#ブラウザ内に画像を埋め込むための命令です

%matplotlib inline

x = randn(100)y = randn(100)

plt.plot(x,y,"o")#"o"はアルファベトの "オー"#「.」でも可能(点が小さくなる )

Page 93: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■散布図の書き方

 →色を変えたり、重ねたりも可能(でも本当はplt.figure()を使うっぽい)

データの可視化基礎の基礎(散布図2/2)

x0 = randn(100)y0 = randn(100)

x1=randn(100)y1=randn(100)

#roはredの丸

plt.plot(x0,y0,"ro")#goはgreenの丸

plt.plot(x1,y1,"go")

Page 94: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

代表的な分析手法紹介

次に学ぶべき分析手法紹介

Page 95: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■仮説検定(t検定/カイ二乗検定) →A/Bテストの効果検証などに使える

■ロジスティック回帰分析

 →合格/不合格など1or0で結果が表せるものや、

  コンバージョン率など0〜1の範囲で結果が表せるものの原因追求などに使える

■クラスタリング

 →なんかいい具合にデータをグルーピングしてくれる

■決定木

 →機械学習の勉強の第一歩。

  発展させて、SVMやランダムフォレストを学ぶとよいらしい

次に学ぶべき分析手法

Page 96: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

https://www.amazon.co.jp/dp/477416674X

この本わかりやすかった(Rですが…w)

Page 97: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

https://www.udemy.com/python-jp/

キャンペーンで安くなってたこれもよかったです。

Page 98: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

まとめ

Page 99: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

■Python×データ分析で必要なもの

 ・ANACONDA(NumPy、Pandas、ScuPy、matplotlib、IPythonあたり)

■データ分析の前に基礎ワードを覚えよう

 ・中央値/最頻値/四分位点/分散etc...

■可視化の基礎

 ・箱ひげ図/ヒストグラム/散布図

■今後勉強すべき分析手法

 ・仮説検定/ロジスティック回帰分析/クラスタリング/決定木

まとめ

Page 100: データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831

ご清聴ありがとうございました:)

100枚達成!!