Submit Search
Upload
PredictionIOのPython対応計画
•
0 likes
•
687 views
Shinsuke Sugaya
Follow
PredictionIOでどのようにPythonに対応していくかを検討しています。
Read less
Read more
Software
Report
Share
Report
Share
1 of 27
Download now
Download to read offline
Recommended
PredictionIO構築入門
PredictionIO構築入門
Shinsuke Sugaya
PredictionIOでSparkMLを使った開発方法
PredictionIOでSparkMLを使った開発方法
Shinsuke Sugaya
社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ
Shinsuke Sugaya
Search engineering tech talk 2019 spring
Search engineering tech talk 2019 spring
takahito takabayashi
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道
Shinsuke Sugaya
Jupyter Notebookでscikit-learnを使った機械学習・画像処理の基本
Jupyter Notebookでscikit-learnを使った機械学習・画像処理の基本
Norihiko Nakabayashi
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
SmartNews, Inc.
業務システムで使える可視化テクニック - Apache HTTP編 -
業務システムで使える可視化テクニック - Apache HTTP編 -
Yasuyuki Sugai
Recommended
PredictionIO構築入門
PredictionIO構築入門
Shinsuke Sugaya
PredictionIOでSparkMLを使った開発方法
PredictionIOでSparkMLを使った開発方法
Shinsuke Sugaya
社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ
Shinsuke Sugaya
Search engineering tech talk 2019 spring
Search engineering tech talk 2019 spring
takahito takabayashi
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道
Shinsuke Sugaya
Jupyter Notebookでscikit-learnを使った機械学習・画像処理の基本
Jupyter Notebookでscikit-learnを使った機械学習・画像処理の基本
Norihiko Nakabayashi
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
SmartNews, Inc.
業務システムで使える可視化テクニック - Apache HTTP編 -
業務システムで使える可視化テクニック - Apache HTTP編 -
Yasuyuki Sugai
Spark Summit 2015 参加報告
Spark Summit 2015 参加報告
Katsunori Kanda
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
Tetsutaro Watanabe
WiredTigerを詳しく説明
WiredTigerを詳しく説明
Tetsutaro Watanabe
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
Kazuki Taniguchi
Project GData
Project GData
Hideki Saito
巨大なサービスと膨大なデータを支えるプラットフォーム
巨大なサービスと膨大なデータを支えるプラットフォーム
Tetsutaro Watanabe
『アジャイルデータサイエンス』1章 理論
『アジャイルデータサイエンス』1章 理論
Hisao Soyama
Hadoopことはじめ
Hadoopことはじめ
Katsunori Kanda
記事分類における教師データおよびモデルの管理
記事分類における教師データおよびモデルの管理
圭輔 大曽根
PyCUDAの紹介
PyCUDAの紹介
Yosuke Onoue
LastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめよう
Shinsuke Sugaya
Overcoming catastrophicforgetting
Overcoming catastrophicforgetting
Osanai Miyu
Jeug 02 lt_tetsuyasodo_v01
Jeug 02 lt_tetsuyasodo_v01
Tetsuya Sodo
Machine learning microservice_management
Machine learning microservice_management
yusuke shibui
『アジャイルデータサイエンス』2章 データ
『アジャイルデータサイエンス』2章 データ
Hisao Soyama
Spring で実現する SmartNews のニュース配信基盤
Spring で実現する SmartNews のニュース配信基盤
SmartNews, Inc.
「ビジネス活用事例で学ぶ データサイエンス入門」輪読会#5資料
「ビジネス活用事例で学ぶ データサイエンス入門」輪読会#5資料
Shintaro Nomura
クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術
Koichi Fujikawa
DBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキル
Satoshi Yamada
High performance python computing for data science
High performance python computing for data science
Takami Sato
Django で始める PyCharm 入門
Django で始める PyCharm 入門
kashew_nuts
S08 t0 orientation
S08 t0 orientation
Takeshi Akutsu
More Related Content
What's hot
Spark Summit 2015 参加報告
Spark Summit 2015 参加報告
Katsunori Kanda
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
Tetsutaro Watanabe
WiredTigerを詳しく説明
WiredTigerを詳しく説明
Tetsutaro Watanabe
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
Kazuki Taniguchi
Project GData
Project GData
Hideki Saito
巨大なサービスと膨大なデータを支えるプラットフォーム
巨大なサービスと膨大なデータを支えるプラットフォーム
Tetsutaro Watanabe
『アジャイルデータサイエンス』1章 理論
『アジャイルデータサイエンス』1章 理論
Hisao Soyama
Hadoopことはじめ
Hadoopことはじめ
Katsunori Kanda
記事分類における教師データおよびモデルの管理
記事分類における教師データおよびモデルの管理
圭輔 大曽根
PyCUDAの紹介
PyCUDAの紹介
Yosuke Onoue
LastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめよう
Shinsuke Sugaya
Overcoming catastrophicforgetting
Overcoming catastrophicforgetting
Osanai Miyu
Jeug 02 lt_tetsuyasodo_v01
Jeug 02 lt_tetsuyasodo_v01
Tetsuya Sodo
Machine learning microservice_management
Machine learning microservice_management
yusuke shibui
『アジャイルデータサイエンス』2章 データ
『アジャイルデータサイエンス』2章 データ
Hisao Soyama
Spring で実現する SmartNews のニュース配信基盤
Spring で実現する SmartNews のニュース配信基盤
SmartNews, Inc.
「ビジネス活用事例で学ぶ データサイエンス入門」輪読会#5資料
「ビジネス活用事例で学ぶ データサイエンス入門」輪読会#5資料
Shintaro Nomura
クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術
Koichi Fujikawa
What's hot
(18)
Spark Summit 2015 参加報告
Spark Summit 2015 参加報告
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
WiredTigerを詳しく説明
WiredTigerを詳しく説明
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
Project GData
Project GData
巨大なサービスと膨大なデータを支えるプラットフォーム
巨大なサービスと膨大なデータを支えるプラットフォーム
『アジャイルデータサイエンス』1章 理論
『アジャイルデータサイエンス』1章 理論
Hadoopことはじめ
Hadoopことはじめ
記事分類における教師データおよびモデルの管理
記事分類における教師データおよびモデルの管理
PyCUDAの紹介
PyCUDAの紹介
LastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめよう
Overcoming catastrophicforgetting
Overcoming catastrophicforgetting
Jeug 02 lt_tetsuyasodo_v01
Jeug 02 lt_tetsuyasodo_v01
Machine learning microservice_management
Machine learning microservice_management
『アジャイルデータサイエンス』2章 データ
『アジャイルデータサイエンス』2章 データ
Spring で実現する SmartNews のニュース配信基盤
Spring で実現する SmartNews のニュース配信基盤
「ビジネス活用事例で学ぶ データサイエンス入門」輪読会#5資料
「ビジネス活用事例で学ぶ データサイエンス入門」輪読会#5資料
クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術
Similar to PredictionIOのPython対応計画
DBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキル
Satoshi Yamada
High performance python computing for data science
High performance python computing for data science
Takami Sato
Django で始める PyCharm 入門
Django で始める PyCharm 入門
kashew_nuts
S08 t0 orientation
S08 t0 orientation
Takeshi Akutsu
Pythonで機械学習をやってみる(bizpy 1/19 2022)
Pythonで機械学習をやってみる(bizpy 1/19 2022)
Hirofumi Watanabe
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
Shinichi Nakagawa
元BIエバンジェリストが語る!脱獄matplot!
元BIエバンジェリストが語る!脱獄matplot!
ReNom User Group
S06 t1 python学習奮闘記#4
S06 t1 python学習奮闘記#4
Takeshi Akutsu
「Python 機械学習プログラミング」の挫折しない読み方
「Python 機械学習プログラミング」の挫折しない読み方
Hiroki Yamamoto
Pythonでpdfをいじってみる
Pythonでpdfをいじってみる
株式会社 システムヨシイ
Introduction
Introduction
Takeshi Akutsu
20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdf
Shintaro Fukushima
鳥取python勉強会 第1回
鳥取python勉強会 第1回
Yuji Oyamada
機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython
Kimikazu Kato
Elasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバ
Shinsuke Sugaya
第45回PHP勉強会(里洋平)
第45回PHP勉強会(里洋平)
Yohei Sato
なぜデータをインタラクティブに可視化したいのか?
なぜデータをインタラクティブに可視化したいのか?
hide ogawa
Pythonで業務改善をしたときにあった問題(ライト版)
Pythonで業務改善をしたときにあった問題(ライト版)
Satoshi Yamada
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
Hiroyuki Ishikawa
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
Ai Makabi
Similar to PredictionIOのPython対応計画
(20)
DBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキル
High performance python computing for data science
High performance python computing for data science
Django で始める PyCharm 入門
Django で始める PyCharm 入門
S08 t0 orientation
S08 t0 orientation
Pythonで機械学習をやってみる(bizpy 1/19 2022)
Pythonで機械学習をやってみる(bizpy 1/19 2022)
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
元BIエバンジェリストが語る!脱獄matplot!
元BIエバンジェリストが語る!脱獄matplot!
S06 t1 python学習奮闘記#4
S06 t1 python学習奮闘記#4
「Python 機械学習プログラミング」の挫折しない読み方
「Python 機械学習プログラミング」の挫折しない読み方
Pythonでpdfをいじってみる
Pythonでpdfをいじってみる
Introduction
Introduction
20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdf
鳥取python勉強会 第1回
鳥取python勉強会 第1回
機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython
Elasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバ
第45回PHP勉強会(里洋平)
第45回PHP勉強会(里洋平)
なぜデータをインタラクティブに可視化したいのか?
なぜデータをインタラクティブに可視化したいのか?
Pythonで業務改善をしたときにあった問題(ライト版)
Pythonで業務改善をしたときにあった問題(ライト版)
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
More from Shinsuke Sugaya
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
Shinsuke Sugaya
Elasticsearchベースの全文検索システムFess
Elasticsearchベースの全文検索システムFess
Shinsuke Sugaya
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
Shinsuke Sugaya
ElasticsearchとTasteプラグインで作るレコメンドシステム
ElasticsearchとTasteプラグインで作るレコメンドシステム
Shinsuke Sugaya
Elasticsearchプラグインの作り方
Elasticsearchプラグインの作り方
Shinsuke Sugaya
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
Shinsuke Sugaya
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみよう
Shinsuke Sugaya
Elasticsearch Authプラグインでアクセスコントロール
Elasticsearch Authプラグインでアクセスコントロール
Shinsuke Sugaya
DBFlute Mavenプラグインを用いてCRUD作成
DBFlute Mavenプラグインを用いてCRUD作成
Shinsuke Sugaya
DBFluteを用いて開発されている全文検索システムFess
DBFluteを用いて開発されている全文検索システムFess
Shinsuke Sugaya
elasticsearchプラグイン入門
elasticsearchプラグイン入門
Shinsuke Sugaya
Solrベースの全文検索サーバ Fess
Solrベースの全文検索サーバ Fess
Shinsuke Sugaya
Sc2009autumn s2robot
Sc2009autumn s2robot
Shinsuke Sugaya
オフィスに1台!全文検索Fess
オフィスに1台!全文検索Fess
Shinsuke Sugaya
More from Shinsuke Sugaya
(14)
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
Elasticsearchベースの全文検索システムFess
Elasticsearchベースの全文検索システムFess
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
ElasticsearchとTasteプラグインで作るレコメンドシステム
ElasticsearchとTasteプラグインで作るレコメンドシステム
Elasticsearchプラグインの作り方
Elasticsearchプラグインの作り方
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみよう
Elasticsearch Authプラグインでアクセスコントロール
Elasticsearch Authプラグインでアクセスコントロール
DBFlute Mavenプラグインを用いてCRUD作成
DBFlute Mavenプラグインを用いてCRUD作成
DBFluteを用いて開発されている全文検索システムFess
DBFluteを用いて開発されている全文検索システムFess
elasticsearchプラグイン入門
elasticsearchプラグイン入門
Solrベースの全文検索サーバ Fess
Solrベースの全文検索サーバ Fess
Sc2009autumn s2robot
Sc2009autumn s2robot
オフィスに1台!全文検索Fess
オフィスに1台!全文検索Fess
PredictionIOのPython対応計画
1.
Apache BizReach, Inc. Shinsuke SugayaPredictionIO勉強会
第2回 Python対応計画
2.
自己紹介 名前:菅谷 信介 会社:株式会社ビズリーチ AI室 興味があること: ・機械学習やDeep
Learning等で解決方法を考える ・オープンソースのプロダクトを作る
3.
Topics ・PredictionIOのPython対応を考える
4.
PredictionIOの Python対応状況
5.
Pythonを使えません…
6.
がしかし… ・Pythonの機械学習系ライブラリは多い →scikit-learn, TensorFlow, Chainer,... ・Jupyterとかで分析したい →matplotlibで普通にグラフを書きたい この手のニーズは普通にあるのでは?
7.
どう実現するか? PredictionIOは主に以下の機能がある ・イベントサーバ →RESTでデータを登録するので、Python対応不要 ・学習処理 →Spark上で動くので、Python対応必要 ・予測サーバ →Spark MLであれば、対応不要 →scikit-learnなどのモデルを作った場合は要対応
8.
対応する箇所 ・学習処理 →PySparkを使えるようにする ・予測サーバ →Python独自のモデルへの対応 →(学習処理対応後に考える…)
9.
PySpark
10.
PySparkとは ・Sparkを実行するためのPython API ・pysparkを実行するとインタラクティブモードで起動 $ ./bin/pyspark Welcome
to ____ __ / __/__ ___ _____/ /__ _ / _ / _ `/ __/ '_/ /__ / .__/_,_/_/ /_/_ version 2.1.1 /_/ Using Python version 3.5.2 (default, Oct 31 2016 16:46:00) SparkSession available as 'spark'. >>>
11.
PySparkとは ・Jupyter上でも実行できる!
12.
PySparkの仕組み(ざっくりと…) pyspark spark-submit spark-class $ ./bin/pyspark ____ __ /
__/__ ___ _____/ /__ _ / _ / _ `/ __/ '_/ /__ / .__/_,_/_/ /_/_ version 2.1.1 /_/ >>> PYTHONSTARTUPを 指定してpythonを実行 Pythonを実行する コマンド引数を返却 Py4Jのサーバを起動 Sparkとの連携は Py4Jで行う
13.
PIOとPySpark
14.
前提 ・データはイベントサーバ上にある →RDDやDataFrameはPEventStoreから取る ・実行しているテンプレートの情報が必要 →pioコマンド経由で実行する
15.
PIOでの仕組み pio pyspark pio-class $ ./bin/pyspark ____
__ / __/__ ___ _____/ /__ _ / _ / _ `/ __/ '_/ /__ / .__/_,_/_/ /_/_ version 2.1.1 /_/ >>> pysparkを実行する コマンド引数を返却 pyspark spark-submit spark-class
16.
開発 ・以下のブランチで開発を始めました https://github.com/jpioug/incubator-predictionio/tree/pyspark ・将来的にはApacheに入れる予定
17.
課題 作業を始めると様々な壁に遭遇… ・Python上ではSpark上のPy4Jの参照 →pysparkは参照をラップして使いやすくしてる ・Python-Py4J-Java-Scalaでのアクセスが必要 →Pythonからアクセスしにくい ・PIOは主にRDDを使っている →DataFrameでない不便
18.
これらの壁を乗り越えて pio pysparkを実行 $ export
PYSPARK_PYTHON=$PYENV_ROOT/shims/python $ export PYSPARK_DRIVER_PYTHON=$PYENV_ROOT/shims/jupyter $ export PYSPARK_DRIVER_PYTHON_OPTS="notebook" $ ./bin/pio pyspark せっかくなので、Jupyterで実行する
19.
動作確認 pysparkが読み込まれていればSparkContextがいる
20.
便利関数作成 Scalaへアクセスする便利関数が必要
21.
便利関数作成 PIOへアクセスする 便利関数が必要
22.
PIOの初期化 pio trainの処理と同じように実行して初期化
23.
DataFrameの取得 Spark側でDataFrameを作成して Python側ではpysparkのDataFrameでラップする
24.
DataFrameでの表示 show()で内容を表示する
25.
SQLでの表示 Viewを作成して、Spark SQLで取得
26.
今後 ・コードを整理して、Apacheに入れたい ・予測サーバでの対応を考える ・続きはPIO勉強会#3で…
27.
Apache Thank You
Download now