LT_R_on_GoogleColab

 LT_R_on_GoogleColab

Bc3d005a52243d2151ef2bc046464e0c?s=128

NobuakiOshiro

October 11, 2019
Tweet

Transcript

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

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

  3. イベント告知 SpaTech #02 (11/16) • 温泉地でデータ分析勉強会 • 各分析コミュニティの⽅々と、⼤分 の⽅々をつなげられればと思います のでご都合つきましたら是⾮・・!

    • ちなみに今回は⼤分県から補助が出 ます https://spatech.connpass.com/event/151005/
  4. 本題 課題感 • 分析結果を共有したい!が様々なハードルがある • ⾃分以外のPCにRをインストールするのが⼤変 • サーバの知識がなく、社内でJupyterやRStudioのWebサーバは⽴てられない • サーバの知識はあるが、AWS等のインスタンスを⽴ち上げる予算がない

    • 無料、かつPDFやhtmlファイルで共有する以外の⽅法はないものか? 今回 • GoogleColabで直接Rを動かす⽅法のご紹介
  5. GoogleColabのスペックと制限 • スペック • 搭載CPUはIntel(R) Xeon(R) CPU @ 2.30GHz •

    メモリーは13GB、データ容量は40GB • GPU、TPUが無料で使える • 制限 • 連続利⽤12時間まで • 90分間アイドル状態が続くとインスタンスがシャットダウン
  6. Rを乗せる前に・・ GoogleColabの基礎

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

  8. ʴ৽ن ΛΫϦοΫ

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

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

  11. Google Colab上でRを使う⽅法 • 2つご紹介 • お⼿軽な⽅法 • rpy2でPythonと共存したまま使う • ⼀⼿間かける⽅法

    • ipynbファイルを書き換えてRのノートブックとして設定する 参考 https://www.marketechlabo.com/google-colaboratory-with-r/
  12. その1:rpy2でPythonと共存したまま使う • rpy2を使うと%%RブロックでRを呼び出すことが可能になる • %load_ext rpy2.ipythonを記載するだけでOK

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

  14. install.packages()も使える

  15. 決定⽊とかも動く

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

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

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

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

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

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

  22. GoogleColabのデメリットと セッション切れ問題対策 • 90分以上かかる処理の場合はリ ロード必須 • chormeの拡張機能などで定期的 なブラウザのリロードはお⼿軽 に実施できる •

    もちろん、PCがスリープしない 設定でやる必要はあり https://chrome.google.com/webstore/detail/auto- refresh/ifooldnmmcmlbdennkpdnlnbgbmfalko
  23. 動かなかったもの • rpivotTableとかplotlyパッケージは動かない (knitやHTML出⼒が前提だから?) • ⼿軽にインタラクティブに動かせる環境あると最⾼なので、何 かノウハウありましたらお知らせ下さい

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

    にPythonからplotly等各種ライブラリを呼び出す⽅法が楽
  25. 余談 • ⽤途が社内でのデータ解析結果の共有ではなく、 単に機械学習の勉強ならkaggleのカーネル使う⽅法もあります • こっちはRに標準対応

  26. まとめ • Google ColabからRで使う⽅法をいくつかご紹介 • rpy2を使う⽅法、ipynbを書き換える⽅法 • 90分タイムアウト問題はブラウザの拡張機能などで対応可能 • 共有範囲の管理もできるので、社内データの簡単な処理やレ

    ポートの共有には向いている • ⼀⽅、機械学習の勉強⽤途だけならKaggleのnotebook使うと良い • ⼀応hack的な⽅法なので、現時点では凝った処理は素直に Pythonで書く、といった使い分けが良いかも
  27. Enjoy!