Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
LT_R_on_GoogleColab
NobuakiOshiro
October 11, 2019
Technology
1
320
LT_R_on_GoogleColab
https://fukuoka-r.connpass.com/event/147096/
NobuakiOshiro
October 11, 2019
Tweet
Share
More Decks by NobuakiOshiro
See All by NobuakiOshiro
20220718_tokyor_100回記念の発表_初代運営OBが分析者コミュニティTokyo.Rを振り返る
doradora09
1
53
20210715_第14回意思決定のための_意思決定プロセスと分析技術を俯瞰してみる
doradora09
0
39
20210410_オン飲み研究会_キックオフ
doradora09
0
39
第101回 大連ITクラブ〜地方にも広がる日本国内のAI・データサイエンスへの取り組みと、落とし穴〜(42p)
doradora09
1
62
20210211_AI・データ分析プロジェクトのすべて(pydata.fukuoka向け)
doradora09
0
87
20210126_AI・データ分析プロジェクトのすべて_ビジネスxテクノロジー=価値創出(パーソルさん向け)
doradora09
1
89
20210115_意思決定勉強会_データドリブンな組織文化醸成のための、AI・データ分析PJ立ち上げのススメ
doradora09
0
210
20210113_AI・データ分析プロジェクトのすべて_ビジネスxテクノロジー=価値創出(みんなのPython勉強会向け)
doradora09
0
330
20210114_OPEN G's #06 プログラミング初心者が陥る AIについての誤解とは? 〜データを活用したサービス開発〜【入門編】(OPEN Gs福岡セミナー)
doradora09
0
54
Other Decks in Technology
See All in Technology
Simplify Cloud Native Security with Trivy
knqyf263
0
550
psql, my favorite tool!
nuko_yokohama
1
180
今 SLI/SLO の監視をするなら Sloth が良さそうという話
shotakitazawa
1
270
Learning to Solve Hard Minimal Problems
takmin
1
310
第22回 MLOps 勉強会:みてねのMLOps事情
tonouchi510
0
240
Power BI のうらがわ
hanaseleb
1
130
20220731 如何跟隨開源技術保持你的職涯發展
pichuang
0
120
cobra は便利になっている
nwiizo
0
130
塩漬けにしているMySQL 8.0.xxをバージョンアップしたくなる、ここ数年でのMySQL 8.0の改善点 / MySQL Update 202208
yoshiakiyamasaki
1
610
Micro frontends and micro services
kashif98
0
120
質の良い”カイゼン”の為の質の良い「振り返り」
shirayanagiryuji
0
120
脆弱性スキャナのOWASP ZAPを コードベースで扱ってみる / OWASP ZAP on a code base
task4233
1
220
Featured
See All Featured
Music & Morning Musume
bryan
35
4.3k
A better future with KSS
kneath
226
16k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
39
13k
How to Ace a Technical Interview
jacobian
266
21k
Happy Clients
brianwarren
89
5.6k
Code Review Best Practice
trishagee
44
9.7k
Making Projects Easy
brettharned
98
4.4k
Building a Scalable Design System with Sketch
lauravandoore
448
30k
What’s in a name? Adding method to the madness
productmarketing
11
1.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
37
3.3k
Scaling GitHub
holman
451
140k
Bash Introduction
62gerente
598
210k
Transcript
LT R on Google Colab ~ いい感じに処理を共有したい ~ Yakitori.R#02 2019/10/11
@doradora09
⾃⼰紹介 • NOB DATAの⼤城です • 最近クラウド本書きました ->
イベント告知 SpaTech #02 (11/16) • 温泉地でデータ分析勉強会 • 各分析コミュニティの⽅々と、⼤分 の⽅々をつなげられればと思います のでご都合つきましたら是⾮・・!
• ちなみに今回は⼤分県から補助が出 ます https://spatech.connpass.com/event/151005/
本題 課題感 • 分析結果を共有したい!が様々なハードルがある • ⾃分以外のPCにRをインストールするのが⼤変 • サーバの知識がなく、社内でJupyterやRStudioのWebサーバは⽴てられない • サーバの知識はあるが、AWS等のインスタンスを⽴ち上げる予算がない
• 無料、かつPDFやhtmlファイルで共有する以外の⽅法はないものか? 今回 • GoogleColabで直接Rを動かす⽅法のご紹介
GoogleColabのスペックと制限 • スペック • 搭載CPUはIntel(R) Xeon(R) CPU @ 2.30GHz •
メモリーは13GB、データ容量は40GB • GPU、TPUが無料で使える • 制限 • 連続利⽤12時間まで • 90分間アイドル状態が続くとインスタンスがシャットダウン
Rを乗せる前に・・ GoogleColabの基礎
Google Colaboratoryを利⽤する HPPHMFυϥΠϒΞΫηε
ʴ৽ن ΛΫϦοΫ
ΞϓϦΛՃ ΛΫϦοΫ ͦͷଞ
DPMBCPSBUPSZͰݕࡧ ଓϘλϯΛΫϦοΫ
Google Colab上でRを使う⽅法 • 2つご紹介 • お⼿軽な⽅法 • rpy2でPythonと共存したまま使う • ⼀⼿間かける⽅法
• ipynbファイルを書き換えてRのノートブックとして設定する 参考 https://www.marketechlabo.com/google-colaboratory-with-r/
その1:rpy2でPythonと共存したまま使う • rpy2を使うと%%RブロックでRを呼び出すことが可能になる • %load_ext rpy2.ipythonを記載するだけでOK
rpy2のインストールと %%RブロックでRコードの実⾏
install.packages()も使える
決定⽊とかも動く
その2:ipynbを書き換える⽅法 • .ipynbファイルの中⾝を書き換える⽅法 • ⼀⼿間かかるが、Rのコードをそのまま呼び出せる
任意のノートブックを作成し、 .ipynbをダウンロード
.ipynbファイルを2⾏書き換え (nameをirに、display_nameをRにする)
書き換えた.ipynbファイルを アップロードすればOK
あとはRのコードを書くだけ • 1つ⽬の⽅法と違って%%Rのようなブロックは不要
あとはRのコードを書くだけ • 1つ⽬の⽅法と違って%%Rのようなブロックは不要
GoogleColabのデメリットと セッション切れ問題対策 • 90分以上かかる処理の場合はリ ロード必須 • chormeの拡張機能などで定期的 なブラウザのリロードはお⼿軽 に実施できる •
もちろん、PCがスリープしない 設定でやる必要はあり https://chrome.google.com/webstore/detail/auto- refresh/ifooldnmmcmlbdennkpdnlnbgbmfalko
動かなかったもの • rpivotTableとかplotlyパッケージは動かない (knitやHTML出⼒が前提だから?) • ⼿軽にインタラクティブに動かせる環境あると最⾼なので、何 かノウハウありましたらお知らせ下さい
所感 場⾯によっては選択肢としてはあり • 費⽤をかけず、社内データの簡単な分析と共有 良い点 • 無料でハイスペックなマシンが使え、権限管理も可能 向かない点 • (現時点では)凝った処理やGUIでグリグリやりたい場合は素直
にPythonからplotly等各種ライブラリを呼び出す⽅法が楽
余談 • ⽤途が社内でのデータ解析結果の共有ではなく、 単に機械学習の勉強ならkaggleのカーネル使う⽅法もあります • こっちはRに標準対応
まとめ • Google ColabからRで使う⽅法をいくつかご紹介 • rpy2を使う⽅法、ipynbを書き換える⽅法 • 90分タイムアウト問題はブラウザの拡張機能などで対応可能 • 共有範囲の管理もできるので、社内データの簡単な処理やレ
ポートの共有には向いている • ⼀⽅、機械学習の勉強⽤途だけならKaggleのnotebook使うと良い • ⼀応hack的な⽅法なので、現時点では凝った処理は素直に Pythonで書く、といった使い分けが良いかも
Enjoy!