Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LT_R_on_GoogleColab

 LT_R_on_GoogleColab

NobuakiOshiro

October 11, 2019
Tweet

More Decks by NobuakiOshiro

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  8. ʴ৽ن ΛΫϦοΫ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  14. install.packages()も使える

    View Slide

  15. 決定⽊とかも動く

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  27. Enjoy!

    View Slide