https://fukuoka-r.connpass.com/event/147096/
LTR on Google Colab~ いい感じに処理を共有したい ~Yakitori.R#022019/10/11@doradora09
View Slide
⾃⼰紹介• 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のようなブロックは不要
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!