pythonとrによるデータ分析環境の構築と機械学習によるデータ認識 第3版...

116
Python と R ととととととととと ととととととととととととととととと と3と 2014-09-03 ととととととととととと ととととと Katushiro MORISHITA 1

Upload: katsuhiro-morishita

Post on 18-Jun-2015

1.072 views

Category:

Data & Analytics


12 download

DESCRIPTION

Python利用人口を増やすべく作成したスライド第3版です。PythonとRを使ったデータ分析を行うための環境整備方法などについて解説しました。 第1版との差分は、もう少し初心者にやさしい情報を加えたことと、演習っぽいスライドを追加したところです。

TRANSCRIPT

Page 1: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

1

Python と R によるデータ分析環境の構築と機械学習によるデータ認

識第 3 版

2014-09-03熊本高専八代キャンパス 高専カフェ

Katushiro MORISHITA

Page 2: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

2

まずは質問• ノート PC を持ってきた方• Mac 環境の人 VS Windows 環境の人• Python を聞いたことあるという方• Python を使っているという方• R を聞いたことあるという方• R を使っているという方• ランダムフォレスト自体に興味がある方

Page 3: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

3

演者紹介• 高専:ロボコン・全身反応測定器・温度場測定器• 大学院: GPS を使った動物追跡システム• 野鳥の鳴き声による識別(趣味)• Twitter 感情分析・ニュース記事推薦システム(仕事)• 自信のある言語

oC/C++, C#, Python• そうでもない言語

o R, PHP, Ruby, java, VB, VB.NET• 勉強したい言語

o Scala, javascript

Page 4: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

4

本スライドの目的・背景目的• Python と R の全学的普及

対象• 熊本高専の教員・学生• Python や R に触れたことがない方• Python or R or データ分析に興味がある方

Page 5: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

5

目標• Python に魅了される• R の便利さが垣間見える

• Python スクリプトをo作れるo実行できる

• R で相関行列を作れる

Page 6: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

6

Index• データ分析上の役割分担• Python の薦め• Python 環境の作り方• R 環境の作り方• データ分析例• まとめ• 蛇足

Page 7: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

7

データ分析処理の流れ収集

データ読み込み・整形

可視化

分析処理

検討 データベース / テキスト

Page 8: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

8

役割分担(森下の場合)可視化 散布図行列  etc.

分析 数値的要約 主成分・因子分析 相関行列 数量化 x 類  n 群の比較  etc.

テキスト処理データベース操作機械学習 ニューラルネットワーク サポートベクタマシン ランダムフォレスト  Deep Learning 

* データが数 GByte までならこれで十分

Page 9: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

9

Python の薦め

Page 10: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

10

基本構文など@ Python 3

フィーリング!

Page 11: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

Python の” Hello World”

11

Page 12: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

Python のコメント• 2 種類ある

12

Page 13: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

演算子• 代入: =• 加算: +• 減算: -• 乗算: *• 除算: /• 累乗: **, 例 a = 20 ** 2 # 400• 剰余(割り算の余り): %

13

Page 14: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

14

数値型• int (整数)型は無限桁を扱える

Page 15: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

15

文字列型• 文字列の結合、検索、文字コードに

よらない文字数カウントなどが便利

Page 16: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

16

リスト型• リストを知ると C の配列なんて使えない

Page 17: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

17

タプル型• 複数の値をパッキング• どんなオブジェクトでも OK• 関数の返り値に便利

Page 18: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

18

辞書型• データ同士のヒモ付• C# のハッシュテーブル、 PHP の連想配列に近い

Page 19: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

19

集合型• 数学の集合と同一• ↓タイムスタンプの比較処理から抜粋

Page 20: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

20

Python の if

Page 21: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

21

Python の for• 10回ループ

解釈• 全要素を順に処理≠ただの繰り返し

Page 22: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

22

Python の関数

Page 23: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

23

Python のクラス

↑学生による相互評価データを処理するスクリプトより抜粋

Page 24: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

24

Python の名前空間• フォルダが名前空間となる

GPS名前空間内にある、モジュール

ephemeris

gps.ephemeris

Page 25: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

文字列を数値に変換

25

Page 26: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

数値を文字列に変換

26

Page 27: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

ライブラリの利用

27

• モジュールの利用と言い換えても OK

Page 28: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

スコープ• 変数は宣言した後の行で使える• インデントが続く範囲がスコープ• 同じ変数名でも他のモジュールとは干渉せず

28

Page 29: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

29

Python スクリプト例

上図 テキストファイルの行数をカウントする例

どんな動作か想像して下さい

Page 30: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

30

よく使うモジュール• os• sys• datetime• re

Page 31: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

31

いろいろ便利• リフレクション• イテレータ• シリアライズ• ラムダ式o将来性に陰り

Page 32: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

32

Python の哲学• シンプル• 少ない予約語• 非冗長な構文• 誰が書いても同じコードになる

Page 33: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

33

特徴

Page 34: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

34

Python の特徴• 学習しやすい• 無料で利用できる• 全ての OS で動作• プロの技術者集団が存在•豊富な技術情報

Page 35: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

35

研究向き

Page 36: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

36

Why?•学習が速い•開発が速いoライブラリが充実・拡充中o誰が書いても同じ様なコード

Page 37: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

37

Python はアイデアを迅速に確認するためのツール

どちらが好き?• 10日間掛けて、アイデアを検証• 1日でアイデアを検証

計算速度が問題になれば C++ で組む

Page 38: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

38

Python にできることの一例• グラフ作成• PyCUDA で GPU プログラミング

o 大規模グラフィック演算o 電磁気・流体シミュレーションo ディープ・ラーニング(機械学習の一種)

• 各種サーバ構築• 数値計算全般+ 数式の理論微分・積分• 画像・ GISツールのプラグイン

Page 39: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

39

萎える C 言語

萌えるPython

Page 40: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

40

Python 環境の作り方

Page 41: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

41

Python の情報源• Python公式サイト

o http://www.python.jp/

• 公式パッケージ配布元o https://pypi.python.org/pypi

• Windows用非公式パッケージ配布元o http://www.lfd.uci.edu/~gohlke/pythonlibs/

• Windows用統合開発環境  Pyscriptero https://code.google.com/p/pyscripter/

• その他、ネット上の有志の方々

*2014-08-28時点で、 pyscripter は Python 3.3.x までしか対応していない

Page 42: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

42

サーバ環境の例• IPython+Notebook サーバ•クラウドの場合o必要に応じて OS イメージの

スナップショットoロードバランサで負荷分散

学生向けの環境ならこれで OK?

Page 43: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

43

ローカル環境•ビルド済みのoインタプリタをインストールopip をインストールo必要なライブラリをインストール本スライドでは Python3系の最新版の

Windowsへのインストールを案内します( Mac/Linux はこちらを併せてご覧下さい)

Page 44: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

44

☆インタプリタのインストール

• https://www.python.org/downloads/release/python-341/

• ↑最新版 @2014-08-28OS等の都合に併せて

どれか 1つをダウンロード & インストール

Page 45: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

45

☆pip のインストール• パッケージの管理• ビルド済みの配布パッケージがない場合にソースからイ

ンストールするときに必要

• http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip

for 64 bit

for 32 bit“pyX.Y” は Python のバージョンに合わせる

Page 46: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

46

☆算術 3兄弟• http://www.lfd.uci.edu/~gohlke/pythonlibs/•順に、oNumPyoSciPyomatplotlib

Page 47: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

47

☆データ分析用ライブラリ• http://www.lfd.uci.edu/~gohlke/p

ythonlibs/

• scikit-learn• Pandas

Page 48: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

48

☆☆matplotlib• 美麗なグラフ作成

*http://matplotlib.org/gallery.html

Page 50: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

50

☆その他、 Python のみで書かれたライブラリ

• 以下のコマンドでインストールopython install setup.py

Page 51: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

51

☆C を含むライブラリのインストール

• ビルド済みがネットに落ちてなければビルドo Python インタプリタの bit幅に合わせるoコンパイラ等のツール• ライブラリによってツールが異なる• MinGW + msys• Visual Studio 2010/2012/2013 Express/pro• CMake

• python install setup.pyo 先にビルドだけ実施することもあるo その場合は、ビルドツールを選択することもある

• pip install lib_name

Page 52: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

52

☆環境変数の設定• PYTHONPATH

o個人的なライブラリがあれば設定• PATH

oC:\python34oC:\python34\ScriptsoC:\python34\Lib\site-packages

*”pythonXY” の” XY” はインストールした Python のバージョンに依存

Page 53: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

53

☆環境変数設定方法• @ Windows 7

o「コンピュータ」を右クリック−>プロパティo「システムの詳細設定」をクリックo「詳細設定」タブo「環境変数」ボタンo設定を入力

Page 54: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

54

面倒な人は Anaconda• http://continuum.io/downloads

* Anaconda は自然言語処理や OpenCV で困るかも

1st, OS の選択

3rd, ダウンロード

2nd, バージョンの選択

Page 55: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

55

テキストエディタ• http://www.sublimetext.com/3

Page 56: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

56

実行テスト•コマンドプロンプトで実行opython –Vopython

Page 57: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

57

もっと詳しく• Mac や Linux系についても解説したスライ

ドo http://www.slideshare.net/katsuhiromorish

ita/python2014

Page 58: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

58

スクリプトを書いて実行

Page 59: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

59

エディタを開く• 文字コードは UTF-8 とする• Sublime は標準で UTF-8

* スクリーンショットは Mac のものなので、 Windows 環境の方は脳内変換して下さい

Page 60: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

60

コードを書く

Page 61: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

61

保存する• 拡張子は「 py」

Page 62: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

62

実行する• Windwosoコマンドプロンプトを立ち上げ

• Macoターミナルを立ち上げ

• 以下のコマンドを実行opython print_test.py

Page 63: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

63

実行の様子( Mac )

Page 64: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

64

Python の世界へようこそ

Page 65: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

65

R 環境の構築

Page 66: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

66

R の概要• 統計に特化したプログラミング環境• Excel の分析ツールより便利

Page 67: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

67

R の良いところ• 最新のアルゴリズムが投入されている• オープンプロジェクトである• どの OS でも動作する• グラフが美しい• R の GUI 環境を提供する WEB サーバ有

Page 68: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

68

R の情報源•日本の有志による wikiohttp://www.okada.jp.org/RWiki/

Page 69: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

69

R 言語を覚えないとダメ?

Page 70: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

70

森下は覚えていません( ・∀・ ) キリッ

Page 71: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

71

GUIツールを使おう• R コマンダー( Rcmdr )• EZR

( Windows なら)

EZR おススメ

Page 72: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

72

EZR のインストール•ダウンロードサイトohttp://www.jichi.ac.jp/saitama-sct/SaitamaHP.files/statmed.html

Page 73: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

73

Mac での手順• X11 をインストール

o http://xquartz.macosforge.org/landing/

• R 3.1.1 をインストール• R を起動• コマンドを実行(途中改行は削除)

o install.packages("RcmdrPlugin.EZR", dependencies=TRUE)

o install.packages("Rcmdr", dependencies=TRUE)

o library(Rcmdr)

Page 74: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

74

☆エラーキター(涙目)

兵庫大学の CRAN サーバが落ちてる?

• 2014-09-02 に確認したところ、エラーが発生した。

とりあえず Rcmdr を使いましょう

Page 76: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

76

R 公式版• for Windows

o http://cran.md.tsukuba.ac.jp/bin/windows/base/

• for Mac OS Xo http://cran.md.tsukuba.ac.jp/bin/macosx/

• Linux に関してはこちらo http://www.okada.jp.org/RWiki/?R

%20%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB#if8c08b4

Page 77: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

77

Rcmdr/EZR の利用の流れ

• GUI でデータ読み込み( 200 MByte以下)

• メニューからコマンドを選択・実行• 自動生成されたスクリプトを保存

o次回からはコピーしたスクリプトを実行

Page 78: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

78

データ分析例フィッシャーのアヤメのデータを使います。

Page 79: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

79

サンプルデータ• フィッシャーのアヤメoデータ入手:http://home.a00.itscom.net/hatada/ml/data/iris01.html

oデータの解説:http://d.hatena.ne.jp/tsutatsutatsuta/20121206/1354737461

Page 81: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

81

アヤメの 4つの特徴量• ガク片の長さ・幅• 花弁の長さ・幅

Page 82: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

82

具体的には

Page 83: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

83

まずは EZR で可視化• 層別に散布図行列

Page 84: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

84

Python で機械学習• ランダムフォレストo多数の決定木を用いた分類アルゴリズムo並列計算に向く

• scikit-learn ライブラリを利用• 分類粒度・決定木数の調整は必要

Page 85: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

85

Python script

*Pandas の利用の上では csv ファイルの先頭行にラベルをつけておく

Page 86: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

86

コピペ用スライド#!usr/bin/python3

import pandasfrom sklearn.ensemble import RandomForestClassifier

data = pandas.read_csv("iris2.csv")#print(data)trainFeature = (data.iloc[:, 0:4]).values # transform to ndarraytrainLabel = (data.iloc[:, 4:5]).valuestrainLabel = [flatten for inner in trainLabel for flatten in inner] # transform 2次元 to 1次元 ぽいこと

clf = RandomForestClassifier()clf.fit(trainFeature, trainLabel)result = clf.score(trainFeature, trainLabel) # 学習データに対する、適合率print(result)print(clf.feature_importances_) # 各特徴量に対する寄与度を求める

Page 87: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

87

実行結果

*「ランダム」フォレストなので、結果は実行毎に微妙に変わります** 学習済みのオブジェクトはシリアライズしてバイナリで保存***保存したバイナリを読みだして、復帰させれば復活&即利用が可能

Page 88: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

88

まとめ

Page 89: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

89

まとめ• Python の紹介• Python の準備• R の準備• データ分析例

o 可視化o ランダムフォレスト•参考サイト:

http://www.slideshare.net/hamadakoichi/randomforest-web?related=1

Page 90: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

90

Page 91: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

91

最近のソフトウェア開発本職でないので、雰囲気だけ

というか、 Git の話

ギット

Page 92: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

92

ツール類• バグ追跡• 工程管理• バージョン管理

開発スタイル(ウォーターフォール・アジャイル)によって異なるツールが利用される

試行錯誤

Page 93: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

93

Git によるバージョン管理• ファイルの差分を保存• “リポジトリ”で管理• Windows も Mac も利用可能なツールoSourceTreeohttp://www.sourcetreeapp.com/

Page 94: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

94

Git の利用イメージ

リポジトリ

Page 96: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

96

バージョン管理ツールの利点

• 複数人で共同開発• 過去の状態に戻せる• 思考パターンを追うことができるので、紋切り型なコピペの防止

• 卒研のソースコード管理

Page 97: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

97

GitHub• https://github.com/• Git サーバと wiki と掲示板機能を提供

• 有償でクローズド開発が可能• 教育機関用アカウントも作成可

http://www.mocchiblog.com/

Page 98: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

98

GitHub におけるオープンソース開発例

• RTKLIBohttps://github.com/tomojitakasu/

RTKLIBoGNSS 相対測位計算ツール

• オープン開発の理由o1 人で行う開発の限界o開発の継続(継承)

Page 99: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

99

開発したプログラムをアップしませんか?

Page 100: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

100

参考文献

Page 101: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

101

森下推薦図書• Pythonスタートブック• みんなのPython

• RとRコマンダーで始める多変量解析• The R Tips

• R初心者のためのABC

• Git集中講座

Page 102: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

102

その他の WEB 上の資料• SlideShareoスライド共有サイトで検索!ohttp://www.slideshare.net/?ss

Page 103: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

103

Fin.

Page 104: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

104

以降はおまけ

Page 105: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

105

Python インタプリタの亜種  Python のインタプリタには複数の亜種があります。利用目的に合わせてインタプリタの種類を切り替えて下さい。

亜種の例• 描画特化型• ゲーム作成特化型• Java VM 上で動作するバージョン• .NET 上で動作するバージョン

Page 106: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

106

Python 環境の移植• フォルダコピー&環境変数のセットで OK• pip によりインストール済みのライブラリ一覧を作成し、別環境でインストールさせるコマンドもある

Page 107: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

107

複数の Pythonバージョンを並行して使う

• 普段利用する Python 環境を仮想環境とする• 環境が壊れても安心• コマンドでインタプリタを切り替え• ツールoMac なら pyenv などoWindows なら virtualenvoコアとなる Python をインストール後に、

上記のツールをインストールして利用

Page 108: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

108

Python のライブラリをコンパイルする上でのメ

モ• 原則的には、 Python インタプリタをビルドしたものと

同じツールを使う必要があります。

( Windows での話)• ただし、 Python 3.3.5 は Visual Studio 2010 でビル

ドされていますが Visual Studio 2012 でビルドしたツールもインストール出来ました。

• 場合によっては Python 本体が msys でビルドされていたとしても、 Visual Studio でビルドしたツールもインストール出来ます。

Page 109: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

109

Python のバージョン• Python のバージョンには 2系と 3系があ

る• 2系と 3系は非互換o2to3.py という自動変換ツールあり

• ほとんどのライブラリは Python 3 に対応• 音響系ライブラリがまだ 2系に固執中・・・

Page 110: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

110

R のサーバ環境R Studio

• Linux系 OS にて利用可能• http://www.rstudio.com/

Page 111: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

111

統計解析には StatWorks などGUI統計支援ツールがあるとなお

良い• 外れ値の検討が非常に楽• 統計処理の異常に気が付きやすい• 特にデータ数が少ない場合に有効• 統計的手法の初学者には必須• 価格oアカデミックで 10万円前後

Page 112: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

112

Q&A• Q : C# と Python でコーディングスタイル(プログラミングへの取り組み方)は異なりますか?

• A :全く異なります。処理速度が問題にならない限り、 Python ではインターフェイスクラスやデータ構造よりも処理アルゴリズムから考えます。

• Q :他言語は知っています。 Python の習得にはどの程度時間がかかりますか?

• A : Lightweight Language(LL) の経験がなければ、3ヶ月程だと思います。 LL経験者なら、 2週間程だと思います。

• Q :オブジェクト指向を最短で身に付けたいのですが。。• A : C# で実用的なプログラムを設計からリリースまで一貫し

て取り組み、 10万行くらい書くのが早いと思います。

Page 113: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

113

ビッグデータを対象とした分析環境づくり

• 分析したいデータと目的によるが・・・• おすすめは、 Amazon Web Service ( AWS )で

Hadoop を利用できる Amazon Elastic MapReduce ( Amazon EMR )o もっと良いサービスがあるかも

• ロードバランサーにより自動的にインスタンスを起動• 機械学習・財務分析・科学シミュレーションにどうぞ• 月々、 1万円程度?

o 通信量に依存

• クレジットカードと AWSアカウントさえあれば、環境を30 分で立ち上げることができます

• クラウドに関する知識が必要

Page 114: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

114

ビッグデータを対象とした運用環境づくり

• リアルタイム処理向けの AMI があります• 新しいサービスが次々と投入されているので、ご自身で調べて下さい。

Page 115: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

115

最近の言語の流儀• ブラウザから実行できるサーバを簡単に立ち上げ

• ライブラリを公開しているサーバ有o 自作のライブラリも公開可能

• 必要なライブラリは後から追加

Page 116: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版

116

プログラミング言語の進化• やや実験的な言語oScala, go, swift

• それぞれ、新しい概念を導入• 全ての言語が影響を与え合っている• C/C++すら数年に 1 度の改定で近代化• 「ああ、これって要するにあれだよね」

には収まらない