pythonとrによるデータ分析環境の構築と機械学習によるデータ認識 第3版...
DESCRIPTION
Python利用人口を増やすべく作成したスライド第3版です。PythonとRを使ったデータ分析を行うための環境整備方法などについて解説しました。 第1版との差分は、もう少し初心者にやさしい情報を加えたことと、演習っぽいスライドを追加したところです。TRANSCRIPT
![Page 1: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/1.jpg)
1
Python と R によるデータ分析環境の構築と機械学習によるデータ認
識第 3 版
2014-09-03熊本高専八代キャンパス 高専カフェ
Katushiro MORISHITA
![Page 2: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/2.jpg)
2
まずは質問• ノート PC を持ってきた方• Mac 環境の人 VS Windows 環境の人• Python を聞いたことあるという方• Python を使っているという方• R を聞いたことあるという方• R を使っているという方• ランダムフォレスト自体に興味がある方
![Page 3: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/3.jpg)
3
演者紹介• 高専:ロボコン・全身反応測定器・温度場測定器• 大学院: GPS を使った動物追跡システム• 野鳥の鳴き声による識別(趣味)• Twitter 感情分析・ニュース記事推薦システム(仕事)• 自信のある言語
oC/C++, C#, Python• そうでもない言語
o R, PHP, Ruby, java, VB, VB.NET• 勉強したい言語
o Scala, javascript
![Page 4: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/4.jpg)
4
本スライドの目的・背景目的• Python と R の全学的普及
対象• 熊本高専の教員・学生• Python や R に触れたことがない方• Python or R or データ分析に興味がある方
![Page 5: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/5.jpg)
5
目標• Python に魅了される• R の便利さが垣間見える
• Python スクリプトをo作れるo実行できる
• R で相関行列を作れる
![Page 6: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/6.jpg)
6
Index• データ分析上の役割分担• Python の薦め• Python 環境の作り方• R 環境の作り方• データ分析例• まとめ• 蛇足
![Page 7: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/7.jpg)
7
データ分析処理の流れ収集
データ読み込み・整形
可視化
分析処理
検討 データベース / テキスト
![Page 8: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/8.jpg)
8
役割分担(森下の場合)可視化 散布図行列 etc.
分析 数値的要約 主成分・因子分析 相関行列 数量化 x 類 n 群の比較 etc.
テキスト処理データベース操作機械学習 ニューラルネットワーク サポートベクタマシン ランダムフォレスト Deep Learning
* データが数 GByte までならこれで十分
![Page 9: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/9.jpg)
9
Python の薦め
![Page 10: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/10.jpg)
10
基本構文など@ Python 3
フィーリング!
![Page 11: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/11.jpg)
Python の” Hello World”
11
![Page 12: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/12.jpg)
Python のコメント• 2 種類ある
12
![Page 13: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/13.jpg)
演算子• 代入: =• 加算: +• 減算: -• 乗算: *• 除算: /• 累乗: **, 例 a = 20 ** 2 # 400• 剰余(割り算の余り): %
13
![Page 14: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/14.jpg)
14
数値型• int (整数)型は無限桁を扱える
![Page 15: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/15.jpg)
15
文字列型• 文字列の結合、検索、文字コードに
よらない文字数カウントなどが便利
![Page 16: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/16.jpg)
16
リスト型• リストを知ると C の配列なんて使えない
![Page 17: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/17.jpg)
17
タプル型• 複数の値をパッキング• どんなオブジェクトでも OK• 関数の返り値に便利
![Page 18: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/18.jpg)
18
辞書型• データ同士のヒモ付• C# のハッシュテーブル、 PHP の連想配列に近い
![Page 19: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/19.jpg)
19
集合型• 数学の集合と同一• ↓タイムスタンプの比較処理から抜粋
![Page 20: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/20.jpg)
20
Python の if
![Page 21: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/21.jpg)
21
Python の for• 10回ループ
解釈• 全要素を順に処理≠ただの繰り返し
![Page 22: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/22.jpg)
22
Python の関数
![Page 23: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/23.jpg)
23
Python のクラス
↑学生による相互評価データを処理するスクリプトより抜粋
![Page 24: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/24.jpg)
24
Python の名前空間• フォルダが名前空間となる
GPS名前空間内にある、モジュール
ephemeris
gps.ephemeris
![Page 25: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/25.jpg)
文字列を数値に変換
25
![Page 26: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/26.jpg)
数値を文字列に変換
26
![Page 27: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/27.jpg)
ライブラリの利用
27
• モジュールの利用と言い換えても OK
![Page 28: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/28.jpg)
スコープ• 変数は宣言した後の行で使える• インデントが続く範囲がスコープ• 同じ変数名でも他のモジュールとは干渉せず
28
![Page 29: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/29.jpg)
29
Python スクリプト例
上図 テキストファイルの行数をカウントする例
どんな動作か想像して下さい
![Page 30: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/30.jpg)
30
よく使うモジュール• os• sys• datetime• re
![Page 31: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/31.jpg)
31
いろいろ便利• リフレクション• イテレータ• シリアライズ• ラムダ式o将来性に陰り
![Page 32: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/32.jpg)
32
Python の哲学• シンプル• 少ない予約語• 非冗長な構文• 誰が書いても同じコードになる
![Page 33: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/33.jpg)
33
特徴
![Page 34: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/34.jpg)
34
Python の特徴• 学習しやすい• 無料で利用できる• 全ての OS で動作• プロの技術者集団が存在•豊富な技術情報
![Page 35: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/35.jpg)
35
研究向き
![Page 36: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/36.jpg)
36
Why?•学習が速い•開発が速いoライブラリが充実・拡充中o誰が書いても同じ様なコード
![Page 37: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/37.jpg)
37
Python はアイデアを迅速に確認するためのツール
どちらが好き?• 10日間掛けて、アイデアを検証• 1日でアイデアを検証
計算速度が問題になれば C++ で組む
![Page 38: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/38.jpg)
38
Python にできることの一例• グラフ作成• PyCUDA で GPU プログラミング
o 大規模グラフィック演算o 電磁気・流体シミュレーションo ディープ・ラーニング(機械学習の一種)
• 各種サーバ構築• 数値計算全般+ 数式の理論微分・積分• 画像・ GISツールのプラグイン
![Page 39: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/39.jpg)
39
萎える C 言語
萌えるPython
![Page 40: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/40.jpg)
40
Python 環境の作り方
![Page 41: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/41.jpg)
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版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/42.jpg)
42
サーバ環境の例• IPython+Notebook サーバ•クラウドの場合o必要に応じて OS イメージの
スナップショットoロードバランサで負荷分散
学生向けの環境ならこれで OK?
![Page 43: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/43.jpg)
43
ローカル環境•ビルド済みのoインタプリタをインストールopip をインストールo必要なライブラリをインストール本スライドでは Python3系の最新版の
Windowsへのインストールを案内します( Mac/Linux はこちらを併せてご覧下さい)
![Page 44: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/44.jpg)
44
☆インタプリタのインストール
• https://www.python.org/downloads/release/python-341/
• ↑最新版 @2014-08-28OS等の都合に併せて
どれか 1つをダウンロード & インストール
![Page 45: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/45.jpg)
45
☆pip のインストール• パッケージの管理• ビルド済みの配布パッケージがない場合にソースからイ
ンストールするときに必要
• http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip
for 64 bit
for 32 bit“pyX.Y” は Python のバージョンに合わせる
![Page 46: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/46.jpg)
46
☆算術 3兄弟• http://www.lfd.uci.edu/~gohlke/pythonlibs/•順に、oNumPyoSciPyomatplotlib
![Page 47: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/47.jpg)
47
☆データ分析用ライブラリ• http://www.lfd.uci.edu/~gohlke/p
ythonlibs/
• scikit-learn• Pandas
![Page 48: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/48.jpg)
48
☆☆matplotlib• 美麗なグラフ作成
*http://matplotlib.org/gallery.html
![Page 49: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/49.jpg)
49
☆☆scikit-learn• 各種機械学習を支援
*http://scikit-learn.org/stable/auto_examples/plot_classifier_comparison.html
**解説: http://www.slideshare.net/moa108/20130715-lt-scikitlearn
![Page 50: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/50.jpg)
50
☆その他、 Python のみで書かれたライブラリ
• 以下のコマンドでインストールopython install setup.py
![Page 51: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/51.jpg)
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版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/52.jpg)
52
☆環境変数の設定• PYTHONPATH
o個人的なライブラリがあれば設定• PATH
oC:\python34oC:\python34\ScriptsoC:\python34\Lib\site-packages
*”pythonXY” の” XY” はインストールした Python のバージョンに依存
![Page 53: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/53.jpg)
53
☆環境変数設定方法• @ Windows 7
o「コンピュータ」を右クリック−>プロパティo「システムの詳細設定」をクリックo「詳細設定」タブo「環境変数」ボタンo設定を入力
![Page 54: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/54.jpg)
54
面倒な人は Anaconda• http://continuum.io/downloads
* Anaconda は自然言語処理や OpenCV で困るかも
1st, OS の選択
3rd, ダウンロード
2nd, バージョンの選択
![Page 56: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/56.jpg)
56
実行テスト•コマンドプロンプトで実行opython –Vopython
![Page 57: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/57.jpg)
57
もっと詳しく• Mac や Linux系についても解説したスライ
ドo http://www.slideshare.net/katsuhiromorish
ita/python2014
![Page 58: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/58.jpg)
58
スクリプトを書いて実行
![Page 59: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/59.jpg)
59
エディタを開く• 文字コードは UTF-8 とする• Sublime は標準で UTF-8
* スクリーンショットは Mac のものなので、 Windows 環境の方は脳内変換して下さい
![Page 60: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/60.jpg)
60
コードを書く
![Page 61: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/61.jpg)
61
保存する• 拡張子は「 py」
![Page 62: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/62.jpg)
62
実行する• Windwosoコマンドプロンプトを立ち上げ
• Macoターミナルを立ち上げ
• 以下のコマンドを実行opython print_test.py
![Page 63: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/63.jpg)
63
実行の様子( Mac )
![Page 64: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/64.jpg)
64
Python の世界へようこそ
![Page 65: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/65.jpg)
65
R 環境の構築
![Page 66: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/66.jpg)
66
R の概要• 統計に特化したプログラミング環境• Excel の分析ツールより便利
![Page 67: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/67.jpg)
67
R の良いところ• 最新のアルゴリズムが投入されている• オープンプロジェクトである• どの OS でも動作する• グラフが美しい• R の GUI 環境を提供する WEB サーバ有
り
![Page 68: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/68.jpg)
68
R の情報源•日本の有志による wikiohttp://www.okada.jp.org/RWiki/
![Page 69: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/69.jpg)
69
R 言語を覚えないとダメ?
![Page 70: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/70.jpg)
70
森下は覚えていません( ・∀・ ) キリッ
![Page 71: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/71.jpg)
71
GUIツールを使おう• R コマンダー( Rcmdr )• EZR
( Windows なら)
EZR おススメ
![Page 72: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/72.jpg)
72
EZR のインストール•ダウンロードサイトohttp://www.jichi.ac.jp/saitama-sct/SaitamaHP.files/statmed.html
![Page 73: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/73.jpg)
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版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/74.jpg)
74
☆エラーキター(涙目)
兵庫大学の CRAN サーバが落ちてる?
• 2014-09-02 に確認したところ、エラーが発生した。
とりあえず Rcmdr を使いましょう
![Page 75: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/75.jpg)
75
R コマンダー参考文献• http://www.cwk.zaq.ne.jp/fkhud708/fil
es/R-intro/R-stat-intro_99.pdf
![Page 76: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/76.jpg)
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版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/77.jpg)
77
Rcmdr/EZR の利用の流れ
• GUI でデータ読み込み( 200 MByte以下)
• メニューからコマンドを選択・実行• 自動生成されたスクリプトを保存
o次回からはコピーしたスクリプトを実行
![Page 78: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/78.jpg)
78
データ分析例フィッシャーのアヤメのデータを使います。
![Page 79: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/79.jpg)
79
サンプルデータ• フィッシャーのアヤメoデータ入手:http://home.a00.itscom.net/hatada/ml/data/iris01.html
oデータの解説:http://d.hatena.ne.jp/tsutatsutatsuta/20121206/1354737461
![Page 80: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/80.jpg)
80
アヤメの写真
http://pds.exblog.jp/pds/1/200609/01/07/b0077607_17371584.jpg
![Page 81: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/81.jpg)
81
アヤメの 4つの特徴量• ガク片の長さ・幅• 花弁の長さ・幅
![Page 82: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/82.jpg)
82
具体的には
![Page 83: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/83.jpg)
83
まずは EZR で可視化• 層別に散布図行列
![Page 84: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/84.jpg)
84
Python で機械学習• ランダムフォレストo多数の決定木を用いた分類アルゴリズムo並列計算に向く
• scikit-learn ライブラリを利用• 分類粒度・決定木数の調整は必要
![Page 85: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/85.jpg)
85
Python script
*Pandas の利用の上では csv ファイルの先頭行にラベルをつけておく
![Page 86: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/86.jpg)
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版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/87.jpg)
87
実行結果
*「ランダム」フォレストなので、結果は実行毎に微妙に変わります** 学習済みのオブジェクトはシリアライズしてバイナリで保存***保存したバイナリを読みだして、復帰させれば復活&即利用が可能
![Page 88: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/88.jpg)
88
まとめ
![Page 89: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/89.jpg)
89
まとめ• Python の紹介• Python の準備• R の準備• データ分析例
o 可視化o ランダムフォレスト•参考サイト:
http://www.slideshare.net/hamadakoichi/randomforest-web?related=1
![Page 90: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/90.jpg)
90
![Page 91: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/91.jpg)
91
最近のソフトウェア開発本職でないので、雰囲気だけ
というか、 Git の話
ギット
![Page 92: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/92.jpg)
92
ツール類• バグ追跡• 工程管理• バージョン管理
開発スタイル(ウォーターフォール・アジャイル)によって異なるツールが利用される
試行錯誤
![Page 93: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/93.jpg)
93
Git によるバージョン管理• ファイルの差分を保存• “リポジトリ”で管理• Windows も Mac も利用可能なツールoSourceTreeohttp://www.sourcetreeapp.com/
![Page 94: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/94.jpg)
94
Git の利用イメージ
リポジトリ
![Page 95: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/95.jpg)
95
SourceTree スクショ
*http://blog.sourcetreeapp.com/files/2013/02/sourcetree-on-windows-large.png
![Page 96: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/96.jpg)
96
バージョン管理ツールの利点
• 複数人で共同開発• 過去の状態に戻せる• 思考パターンを追うことができるので、紋切り型なコピペの防止
• 卒研のソースコード管理
![Page 97: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/97.jpg)
97
GitHub• https://github.com/• Git サーバと wiki と掲示板機能を提供
• 有償でクローズド開発が可能• 教育機関用アカウントも作成可
http://www.mocchiblog.com/
![Page 98: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/98.jpg)
98
GitHub におけるオープンソース開発例
• RTKLIBohttps://github.com/tomojitakasu/
RTKLIBoGNSS 相対測位計算ツール
• オープン開発の理由o1 人で行う開発の限界o開発の継続(継承)
![Page 99: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/99.jpg)
99
開発したプログラムをアップしませんか?
![Page 100: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/100.jpg)
100
参考文献
![Page 101: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/101.jpg)
101
森下推薦図書• Pythonスタートブック• みんなのPython
• RとRコマンダーで始める多変量解析• The R Tips
• R初心者のためのABC
• Git集中講座
![Page 102: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/102.jpg)
102
その他の WEB 上の資料• SlideShareoスライド共有サイトで検索!ohttp://www.slideshare.net/?ss
![Page 103: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/103.jpg)
103
Fin.
![Page 104: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/104.jpg)
104
以降はおまけ
![Page 105: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/105.jpg)
105
Python インタプリタの亜種 Python のインタプリタには複数の亜種があります。利用目的に合わせてインタプリタの種類を切り替えて下さい。
亜種の例• 描画特化型• ゲーム作成特化型• Java VM 上で動作するバージョン• .NET 上で動作するバージョン
![Page 106: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/106.jpg)
106
Python 環境の移植• フォルダコピー&環境変数のセットで OK• pip によりインストール済みのライブラリ一覧を作成し、別環境でインストールさせるコマンドもある
![Page 107: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/107.jpg)
107
複数の Pythonバージョンを並行して使う
• 普段利用する Python 環境を仮想環境とする• 環境が壊れても安心• コマンドでインタプリタを切り替え• ツールoMac なら pyenv などoWindows なら virtualenvoコアとなる Python をインストール後に、
上記のツールをインストールして利用
![Page 108: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/108.jpg)
108
Python のライブラリをコンパイルする上でのメ
モ• 原則的には、 Python インタプリタをビルドしたものと
同じツールを使う必要があります。
( Windows での話)• ただし、 Python 3.3.5 は Visual Studio 2010 でビル
ドされていますが Visual Studio 2012 でビルドしたツールもインストール出来ました。
• 場合によっては Python 本体が msys でビルドされていたとしても、 Visual Studio でビルドしたツールもインストール出来ます。
![Page 109: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/109.jpg)
109
Python のバージョン• Python のバージョンには 2系と 3系があ
る• 2系と 3系は非互換o2to3.py という自動変換ツールあり
• ほとんどのライブラリは Python 3 に対応• 音響系ライブラリがまだ 2系に固執中・・・
![Page 110: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/110.jpg)
110
R のサーバ環境R Studio
• Linux系 OS にて利用可能• http://www.rstudio.com/
![Page 111: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/111.jpg)
111
統計解析には StatWorks などGUI統計支援ツールがあるとなお
良い• 外れ値の検討が非常に楽• 統計処理の異常に気が付きやすい• 特にデータ数が少ない場合に有効• 統計的手法の初学者には必須• 価格oアカデミックで 10万円前後
![Page 112: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/112.jpg)
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版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/113.jpg)
113
ビッグデータを対象とした分析環境づくり
• 分析したいデータと目的によるが・・・• おすすめは、 Amazon Web Service ( AWS )で
Hadoop を利用できる Amazon Elastic MapReduce ( Amazon EMR )o もっと良いサービスがあるかも
• ロードバランサーにより自動的にインスタンスを起動• 機械学習・財務分析・科学シミュレーションにどうぞ• 月々、 1万円程度?
o 通信量に依存
• クレジットカードと AWSアカウントさえあれば、環境を30 分で立ち上げることができます
• クラウドに関する知識が必要
![Page 114: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/114.jpg)
114
ビッグデータを対象とした運用環境づくり
• リアルタイム処理向けの AMI があります• 新しいサービスが次々と投入されているので、ご自身で調べて下さい。
![Page 115: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/115.jpg)
115
最近の言語の流儀• ブラウザから実行できるサーバを簡単に立ち上げ
• ライブラリを公開しているサーバ有o 自作のライブラリも公開可能
• 必要なライブラリは後から追加
![Page 116: PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版](https://reader036.vdocuments.pub/reader036/viewer/2022082218/5581b779d8b42a1d1a8b4c6e/html5/thumbnails/116.jpg)
116
プログラミング言語の進化• やや実験的な言語oScala, go, swift
• それぞれ、新しい概念を導入• 全ての言語が影響を与え合っている• C/C++すら数年に 1 度の改定で近代化• 「ああ、これって要するにあれだよね」
には収まらない