› tsuji_20161020.pdf python 辻 真吾(@tsjshg オープンソースの多様性 …pasona tech...
TRANSCRIPT
![Page 1: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/1.jpg)
PASONA TECH 歩いてっくセミナー
Pythonの魅力と
オープンソースの多様性辻 真吾(@tsjshg)2016.10.20
![Page 2: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/2.jpg)
自己紹介❖ 1975年生まれ
❖ 東京大学先端科学技術研究センター 特任助教
❖ 研究室はがんとゲノム
❖ やっていることはPythonでデータ解析
❖ 昔はJavaでWeb開発とかしていましたが、10年ほど前から全部Python
❖ http://www.tsjshg.info/
![Page 3: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/3.jpg)
みんなのPython勉強会
❖ connpassでイベント情報公開しています
❖ http://startpython.connpass.com/
❖ 誰でも歓迎なPython勉強会
❖ 18回目の次回は11/9(水)
19:00~の予定です
![Page 4: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/4.jpg)
Udemy
https://www.udemy.com/python-jp/?couponCode=TSJSHG45D割引クーポンあります→
![Page 5: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/5.jpg)
今日の構成❖ オープンソースと選択肢
❖ Pythonについて
❖ Pythonの特徴
❖ Pythonの環境構築
❖ Webアプリ開発からみたオープンソースの多様性
❖ AIと機械学習
❖ データサイエンスを支えるオープンソース
❖ インフラとしてのオープンソース
![Page 6: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/6.jpg)
オープンソースは選択肢が多い
![Page 7: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/7.jpg)
PC-UNIX
![Page 8: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/8.jpg)
シェル
![Page 9: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/9.jpg)
軽量言語
![Page 10: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/10.jpg)
初勝利
![Page 11: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/11.jpg)
考えられる可能性
❖ Pythonの可読性
❖ Cライブラリとの連携の良さ
❖ バージョン間の互換性
❖ Pythonも2と3は結構違う
❖ マルチプラットフォーム
![Page 12: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/12.jpg)
どうしたらいいのか?
❖ 基本的には勝ち馬に乗れ
❖ 情報が充実している
❖ 開発コミュニティの大きさ
❖ 偶然が支配する部分は大きい
![Page 13: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/13.jpg)
Pythonがインフラになりつつある
![Page 14: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/14.jpg)
英語?
![Page 15: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/15.jpg)
未来も明るい❖ 米国の大学Top10のうち、8校がPythonを計算機科学科の入門言語として採用
❖ Top39校中だと27校(約7割)
❖ データサイエンスの分野で存在感が増していることも影響している?
![Page 16: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/16.jpg)
フランス語ではなく・・・
❖ 英国の小学生やその親御さんの多くが、第二言語としてフランス語よりPythonを希望
![Page 17: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/17.jpg)
いろいろなプログラミング言語
汎用的目的 特化
簡単
難しいC++
Java
C
SQL(データベース)R(データ解析)
PythonRubyPerlJavaScript(Web)
PHP(Web)
TeX(組版)
C#
Shell
*個人の見解です
![Page 18: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/18.jpg)
Pythonの生い立ち❖ 教育用に開発されたABCに影響をうけている
❖ 正統派C, C++からも影響を受けている
❖ つまり、入門しやすく、標準的なプログラミングのスタイルを採用
https://ja.wikipedia.org/wiki/Python
Wikipediaより
![Page 19: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/19.jpg)
Pythonの環境構築
![Page 20: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/20.jpg)
Pythonのインストール
❖ 2系と3系がある
❖ 後方互換性がありません
❖ 特に理由がなければ3を
❖ MacOSXやLinuxのOSにはじめからインストールされているのが2系(なのが残念)
www.python.org
![Page 21: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/21.jpg)
Anacondaがおすすめ!
❖ Continuum Analytics社が配布するPython
❖ 標準のPythonにcondaをはじめとして多くの外部ライブラリを同梱
❖ 無料(メアド登録あり)
❖ データ解析環境の構築に最適https://www.continuum.io
![Page 22: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/22.jpg)
豊富な外部ライブラリ
外部モジュールが豊富 91,068個(2016年10月20日)
![Page 23: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/23.jpg)
ライブラリの追加方法
ファイルをダウンロードして解凍後$ python setup.py install
lib/python3.5/site-packagesのようなディレクトリにインストールされる
![Page 24: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/24.jpg)
実際はpipが便利• Python3.4から標準装備
• PyPIから自動ダウンロード
• 削除にも対応
• 使い方(OSのシェルで)
• pip install -U django
• -U or --upgradeで最新版を取得
• pip freeze
• いまの状態を表示
![Page 25: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/25.jpg)
しかし・・・❖ CやFORTRANで書かれたライブラリがその場でコンパイルされることがある
❖ Linuxは大丈夫
❖ MacOSXならXCodeのインストールで対応
❖ 開発環境を手軽に整えるのが難しいWindowsでこの問題は重い
![Page 26: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/26.jpg)
condaが便利
❖ $ conda install django
❖ pipと同じような方法で、外部モジュールを追加
❖ PyPIではなく、Continuum Analytics社のレポジトリに接続し、Windowsでもコンパイル済みのバイナリをとってきてくれる
❖ PyPIのバージョンよりちょっと古いことも
![Page 27: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/27.jpg)
condaで複数バージョン
❖ Python3.xとPython2.xの両方欲しいとき
❖ $ conda create python=2.7 -n my27env
❖ $ source activate my27env
❖ $ source deactivate my27env
![Page 28: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/28.jpg)
Jupyter notebookが便利❖ 高性能なPythonインタラクティブシェルIPython
❖ コマンドラインでipython
❖ Webブラウザで利用できるJupyter notebook
❖ Jupyterという名前で、Python以外の言語も利用可能
❖ コードの入力、実行、結果の表示、保存などができる
❖ ノートブックをHTML形式に変換できる
![Page 29: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/29.jpg)
Webアプリ開発からみた オープンソースの多様性
![Page 30: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/30.jpg)
WSGI❖ Web Server Gateway Interface
❖ PythonのおけるWebアプリケーションのための標準仕様
❖ 標準モジュールにwsgiref(WSGI Utilities and Reference
Implementation)がある
❖ WSGIに準拠したWebアプリを標準モジュールだけで作れる
❖ 多くのPython製WebアプリフレームワークやWebサーバがこの仕様に準拠
![Page 31: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/31.jpg)
たくさんある
https://ja.wikipedia.org/wiki/Web_Server_Gateway_Interface
![Page 32: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/32.jpg)
PythonとWebアプリ開発
❖ 言語の哲学(やり方はできれば一種類がいい)と矛盾している?
❖ Webは用途が広いので、フレームワークの細分化は必要
❖ 「みんなのPython」柴田淳さん
![Page 33: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/33.jpg)
代表例❖ Bottle (http://bottlepy.org/)
❖ 超軽量(なんと1ファイル)すぐ使える
❖ Flask (http://flask.pocoo.org/)
❖ Pyramid (http://www.pylonsproject.org/)
❖ Pylonsの流れをくむ
❖ Django (https://www.djangoproject.com/)
❖ フルスタックフレームワーク
![Page 34: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/34.jpg)
フレームワークの構成
View
Controller
Model
Object-Relational MappingORM(OR Mapper)
• SQLAlchemy• peewee• SQLObject• Storm• Django
Template Engine
• Mako• Jinja2• Cheetah• Bottle• Django
多くのWebアプリケーションフレームワークは、これらの組み合わせDjangoは自前主義なので、考え無くていい
![Page 35: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/35.jpg)
Webアプリ開発
Ruby on Rails Django
Webアプリケーション開発のフレームワークとして有名なRuby on RailsとDjangoを比較
Google Trends
![Page 36: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/36.jpg)
Report Lab
❖ PythonでPDFを作れる
❖ 日本語ももちろんOK
❖ 位置を指定して、文字を流し込んだり、線を引いたりするコードを書く感じ
❖ オープンソースだが有料版も
![Page 37: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/37.jpg)
小まとめ
❖ オープンソースには選択肢が沢山ある
❖ 大きな組織が面倒をみてくれるとちょっと安心
❖ condaやReport Lab
❖ 標準仕様があるとみんな作りたくなる?
❖ Webアプリフレームワーク
![Page 38: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/38.jpg)
AIと機械学習
![Page 39: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/39.jpg)
最近のAIを取り巻く話題
http://www.gizmodo.jp/2011/02/ibm_2.htmlhttp://www.nature.com/news/google-ai-algorithm-masters-ancient-game-of-go-1.19234http://japanese.engadget.com/2016/07/01/dvd/
IBM ワトソン
自動運転車の実現
Alpha GO
![Page 40: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/40.jpg)
AIとは?❖ 人工知能(AI:Artificial Intelligence)
❖ 1956年米ダートマス大の会議で初めて使われた
❖ 強いAI(Strong AI)と弱いAI(Weak AI)
❖ 色々な定義がある模様
❖ 強いAI:人間と同じやり方で問題解決(まだ夢?)
❖ 弱いAI:特定の問題解決に特化
![Page 41: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/41.jpg)
よくある例え
❖ 両方飛べるが、やり方がまったく違う
❖ ジェット機は滑走路がないと飛べないが、スピードは鳥より速い
❖ 特定の目的に特化して、生命体を凌駕
![Page 42: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/42.jpg)
知能を形作る技術
検索
画像認識
知識ベース
AI
パンダ「竹が主食ってアホ?」
パンダ
![Page 43: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/43.jpg)
なぜ今?❖ まだまだ、それぞれの技術を磨いているレベル
❖ 自然言語処理の分野など
❖ 機械学習革命
❖ Deep Learningの出現
❖ 玉石混淆
❖ 本質を見極める姿勢が重要(だと思います)
![Page 44: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/44.jpg)
機械学習革命の本質
*Azureのブログに同じような図があります。パクりではありません。
データ 欲しい結果プログラム
(プログラマが作る)
従来のシステム
データ
(予備的な)欲しい結果出力
機械学習アルゴリズム
機械学習時代のシステム
プログラム
![Page 45: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/45.jpg)
たとえば
❖ 自動販売機にコインをいれると、種類を判定してくれる
❖ 今は、センサーで取得したデータをもとに、プログラミングされている
❖ 機械学習アルゴリズムを使えば、コインとその種類の対応データを学習させれば良いだけになる
![Page 46: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/46.jpg)
今の限界は・・・
❖ 機械学習アルゴリズムの入力や出力は数値
❖ 画像はRGBで数値化
❖ 自然言語は、単語の出現回数のようなデータ
❖ このあたりの研究が進むとさらなる進化が期待できるかもしれない
![Page 47: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/47.jpg)
機械学習とデータサイエンス
![Page 48: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/48.jpg)
いくつかの選択肢❖ SAS (www.sas.com)
❖ BIツールの代表格
❖ Matlab (jp.mathworks.com)❖ 数値シミュレーションなどに利用されている
❖ R
❖ RStudio(IDE)は便利
❖ Python
![Page 49: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/49.jpg)
我田引水
オープン? 汎用言語?
SAS × ×
Matlab × ×
R ○ ×
Python ○ ○
![Page 50: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/50.jpg)
データサイエンス分野での躍進
❖ SASからRへ
❖ オープンソースへの流れ
❖ データサイエンスの分野ではPythonの利用が伸びている
❖ (注)2016年からPythonが新たに選択肢に加わった
http://www.kdnuggets.com/2016/07/burtchworks-sas-r-python-analytics-pros-prefer.html
![Page 51: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/51.jpg)
みんなPythonでできる
http://www.talyarkoni.org/blog/2013/11/18/the-homogenization-of-scientific-computing-or-why-python-is-steadily-eating-other-languages-lunch/
2013~
2011年前後
![Page 52: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/52.jpg)
Pythonはglue(のり)言語
![Page 53: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/53.jpg)
NumPy, SciPy
❖ Pythonでのデータ解析、科学計算の基礎となるライブラリ
❖ array(ベクトルや行列)の高速な演算を実現
❖ 基本的な統計関数や数値積分、最適化なども可能
![Page 54: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/54.jpg)
Pandas
❖ データ解析なくてはならない超高性能ライブラリ
❖ エクセルのシートをイメージすると分かり易いかも
❖ データの入出力、加工、可視化など幅広く対応
![Page 55: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/55.jpg)
matplotlib, seaborn
❖ データの可視化に使われる
❖ matplotlibはmatlabの代替を意識
❖ seabornはmatplotlibを基礎にして、使用しやすく、統計的な機能も取り込む
![Page 56: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/56.jpg)
seaborn
![Page 57: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/57.jpg)
ドキュメントが・・・
みんな、ごめんね。seabornのドキュメントは有料になったんだ。
ggplotがイイらしいから代わりに使って見たら?
![Page 58: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/58.jpg)
scikit-learn
❖ 進化し続けるPythonの機械学習ライブラリ
❖ 豊富なドキュメントとコード例で、利用するには便利
❖ cheat sheetなどアルゴリズムを学べる資料も多数
![Page 59: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/59.jpg)
Deep Learningは流行り❖ Caffe
❖ http://caffe.berkeleyvision.org/
❖ theano
❖ http://deeplearning.net/software/theano/
❖ Pylearn2
❖ http://deeplearning.net/software/pylearn2/
❖ Keras
❖ https://keras.io/ja/
❖ Chainer
❖ http://chainer.org/
❖ TensorFlow
❖ https://www.tensorflow.org/
分かり易さから、Keras、Chainerがおすすめです
![Page 60: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/60.jpg)
Hype Cycle❖ 先端技術がたどる典型的な道筋
❖ 米国の調査会社Gartnerが提唱
過剰期待の頂
技術の引き金
幻滅の窪地
啓蒙の坂
生産性の台地
![Page 61: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/61.jpg)
Gartner Hype Cycle 2015
http://www.gartner.com/newsroom/id/3114217
![Page 62: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/62.jpg)
Gartner Hype Cycle 2016
http://www.gartner.com/newsroom/id/3412017
![Page 63: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/63.jpg)
機械学習ライブラリの今後
❖ 機械学習はブームの絶頂
❖ 見極めるのが難しい
❖ PythonでDeep Learning以外は、結構落ち着いている
❖ NumFocus
❖ PyData
![Page 64: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/64.jpg)
![Page 65: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/65.jpg)
PyData
http://pydata.org/downloads.html
![Page 66: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/66.jpg)
回帰(Regression)
❖ scikit-learnとstatsmodelsでできる
❖ 若干機能が違う
❖ statsmodelsが詳しい結果を出す
❖ PyDataのようなコミュニティがあるとよい方向へ行く?
目的変数
説明変数
![Page 67: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/67.jpg)
インフラとしてのオープンソース
❖ Linuxなどインフラとして利用されているオープンソースは沢山ある
❖ 社会的責任が増している
❖ 金銭面を含め、オープンソースを支える仕組みが必要?
![Page 68: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/68.jpg)
まとめ
❖ インフラになりつつあるPython
❖ オープンソースの選択肢
❖ 本質を見極めよう
❖ とりあえず勝ち馬に乗る
❖ オープンソースを社会が支える必要性
![Page 69: › Tsuji_20161020.pdf Python 辻 真吾(@tsjshg オープンソースの多様性 …PASONA TECH 歩いてっくセミナー Pythonの魅力と オープンソースの多様性](https://reader033.vdocuments.net/reader033/viewer/2022041820/5e5d6f4eb3499c79f90018d1/html5/thumbnails/69.jpg)
ありがとうございました