Slide 1

Slide 1 text

LT R on Google Colab ~ いい感じに処理を共有したい ~ Yakitori.R#02 2019/10/11 @doradora09

Slide 2

Slide 2 text

⾃⼰紹介 • NOB DATAの⼤城です • 最近クラウド本書きました ->

Slide 3

Slide 3 text

イベント告知 SpaTech #02 (11/16) • 温泉地でデータ分析勉強会 • 各分析コミュニティの⽅々と、⼤分 の⽅々をつなげられればと思います のでご都合つきましたら是⾮・・! • ちなみに今回は⼤分県から補助が出 ます https://spatech.connpass.com/event/151005/

Slide 4

Slide 4 text

本題 課題感 • 分析結果を共有したい!が様々なハードルがある • ⾃分以外のPCにRをインストールするのが⼤変 • サーバの知識がなく、社内でJupyterやRStudioのWebサーバは⽴てられない • サーバの知識はあるが、AWS等のインスタンスを⽴ち上げる予算がない • 無料、かつPDFやhtmlファイルで共有する以外の⽅法はないものか? 今回 • GoogleColabで直接Rを動かす⽅法のご紹介

Slide 5

Slide 5 text

GoogleColabのスペックと制限 • スペック • 搭載CPUはIntel(R) Xeon(R) CPU @ 2.30GHz • メモリーは13GB、データ容量は40GB • GPU、TPUが無料で使える • 制限 • 連続利⽤12時間まで • 90分間アイドル状態が続くとインスタンスがシャットダウン

Slide 6

Slide 6 text

Rを乗せる前に・・ GoogleColabの基礎

Slide 7

Slide 7 text

Google Colaboratoryを利⽤する HPPHMFυϥΠϒ΁ΞΫηε

Slide 8

Slide 8 text

ʴ৽ن ΛΫϦοΫ

Slide 9

Slide 9 text

ΞϓϦΛ௥Ճ ΛΫϦοΫ ͦͷଞ

Slide 10

Slide 10 text

DPMBCPSBUPSZͰݕࡧ ઀ଓϘλϯΛΫϦοΫ

Slide 11

Slide 11 text

Google Colab上でRを使う⽅法 • 2つご紹介 • お⼿軽な⽅法 • rpy2でPythonと共存したまま使う • ⼀⼿間かける⽅法 • ipynbファイルを書き換えてRのノートブックとして設定する 参考 https://www.marketechlabo.com/google-colaboratory-with-r/

Slide 12

Slide 12 text

その1:rpy2でPythonと共存したまま使う • rpy2を使うと%%RブロックでRを呼び出すことが可能になる • %load_ext rpy2.ipythonを記載するだけでOK

Slide 13

Slide 13 text

rpy2のインストールと %%RブロックでRコードの実⾏

Slide 14

Slide 14 text

install.packages()も使える

Slide 15

Slide 15 text

決定⽊とかも動く

Slide 16

Slide 16 text

その2:ipynbを書き換える⽅法 • .ipynbファイルの中⾝を書き換える⽅法 • ⼀⼿間かかるが、Rのコードをそのまま呼び出せる

Slide 17

Slide 17 text

任意のノートブックを作成し、 .ipynbをダウンロード

Slide 18

Slide 18 text

.ipynbファイルを2⾏書き換え (nameをirに、display_nameをRにする)

Slide 19

Slide 19 text

書き換えた.ipynbファイルを アップロードすればOK

Slide 20

Slide 20 text

あとはRのコードを書くだけ • 1つ⽬の⽅法と違って%%Rのようなブロックは不要

Slide 21

Slide 21 text

あとはRのコードを書くだけ • 1つ⽬の⽅法と違って%%Rのようなブロックは不要

Slide 22

Slide 22 text

GoogleColabのデメリットと セッション切れ問題対策 • 90分以上かかる処理の場合はリ ロード必須 • chormeの拡張機能などで定期的 なブラウザのリロードはお⼿軽 に実施できる • もちろん、PCがスリープしない 設定でやる必要はあり https://chrome.google.com/webstore/detail/auto- refresh/ifooldnmmcmlbdennkpdnlnbgbmfalko

Slide 23

Slide 23 text

動かなかったもの • rpivotTableとかplotlyパッケージは動かない (knitやHTML出⼒が前提だから?) • ⼿軽にインタラクティブに動かせる環境あると最⾼なので、何 かノウハウありましたらお知らせ下さい

Slide 24

Slide 24 text

所感 場⾯によっては選択肢としてはあり • 費⽤をかけず、社内データの簡単な分析と共有 良い点 • 無料でハイスペックなマシンが使え、権限管理も可能 向かない点 • (現時点では)凝った処理やGUIでグリグリやりたい場合は素直 にPythonからplotly等各種ライブラリを呼び出す⽅法が楽

Slide 25

Slide 25 text

余談 • ⽤途が社内でのデータ解析結果の共有ではなく、 単に機械学習の勉強ならkaggleのカーネル使う⽅法もあります • こっちはRに標準対応

Slide 26

Slide 26 text

まとめ • Google ColabからRで使う⽅法をいくつかご紹介 • rpy2を使う⽅法、ipynbを書き換える⽅法 • 90分タイムアウト問題はブラウザの拡張機能などで対応可能 • 共有範囲の管理もできるので、社内データの簡単な処理やレ ポートの共有には向いている • ⼀⽅、機械学習の勉強⽤途だけならKaggleのnotebook使うと良い • ⼀応hack的な⽅法なので、現時点では凝った処理は素直に Pythonで書く、といった使い分けが良いかも

Slide 27

Slide 27 text

Enjoy!