レビュー

データ分析や機械学習にバリバリ使える上にブラウザで使用できて環境構築不要のPython実行環境「Google Colaboratory」


「Jupyter notebook」というツールは、Pythonのコードを部分ごとに実行できてその場で結果を確認できるため、試行錯誤を積み重ねる必要があるデータ分析や機械学習によく用いられてきました。「Colaboratory」はそのJupyter notebookを元に「ブラウザで実行」「ファイルはGoogleドライブに保存」「共同編集」などの機能を加えて作成されたツールです。

Google Colab
https://colab.research.google.com/

Google Colaboratoryのサイトにアクセスすると「最近のノートブック」という画面に。ひとまず右下から「ノートブックを新規作成」してみます。


実行するPythonのバージョンを選択できます。今回は「PYTHON 3」を選択。


ノートブックには「セル」が存在し、左側の実行ボタンを押すとセル内のコードを実行してくれます。


セルは2種類あり、上で出てきたコードを実行するセルの他にテキスト用のセルもあります。テキスト用のセルではマークダウン記法が使用可能。


セルを実行すると、実行した順番に番号が表示され、先ほど実行した一番上のセルは「1」と表示されています。セルは上からでなくとも任意の順番で実行できますが、「a」という変数を定義しているセルを実行せずに下のセルを実行しようとすると、「aという変数が定義されていない」というエラーが出ました。


実行する順番を変えるときちんと実行されます。


また、他のGoogleドキュメントやGoogleスプレッドシートなどと同様に、右上の「共有」ボタンから他の人と共同編集したり、閲覧権限を与えたりできます。実行環境が異なるため、変数の状態などは共有されませんが、コードとその結果がリアルタイムで共有されます。


さて、いざデータを分析しようとすると「どうやってデータを入力すればいいのか?」など疑問がわいてきます。そこでまず「最近のノートブックを開く」をクリックして……


様々なガイドが記載されたノートブックを読んでみます。


まずは外部データの読み込みについて。「ローカルファイルのアップロード」「Googleドライブ」「Googleスプレッドシート」「Google Cloud Storage」の4つの方法があるようです。


それぞれに見本となるコードが記載されています。ローカルファイルの場合は「google.colab.files」をインポートして「files.upload()」を実行するとファイルの選択ボタンが表示されます。


Googleドライブの場合は「PyDrive」や「REST API」が使用できるとのこと。


Googleスプレッドシートでは「gspread」を使用するのが良いようです。


また、スプレッドシートのデータをPandasのDataFrameに読み込むことも可能となっており、スプレッドシートにデータがあるなら簡単にデータ分析を始められそうです。


Google Cloud Platformのストレージ機能であるGCSのデータも使用できるとのこと。なお、サンプリングが必要ですがBigQueryのデータも使用できるようです。


また、「セルごとに実行可能で~」といったセルの説明や……


「Charts in Colaboratory」というノートブックにはmatplotlibseabornを使ったグラフの書き方ガイドなど、Pythonでデータ分析する際に役立ちそうな情報も記載されています。


マークダウン記法のガイドもありました。Colaboratoryでは他のサイトとは違い、LaTeXを用いて数式を記入できるとのこと。数式と実装を同時に記載できるため、共同作業がよりスムーズに進みそうです。

この記事のタイトルとURLをコピーする

・関連記事
Pythonが大学の入門用プログラミング言語として人気を集めていると判明 - GIGAZINE

機械学習やビッグデータを扱うデータサイエンティストの年収や使用言語などを赤裸々にするデータ - GIGAZINE

ビッグデータ解析・機械学習・人工知能の発展に伴って「パレートの法則(80:20の法則)」が進化している - GIGAZINE

Googleスプレッドシートの自動データ分析機能「データ探索」が機械学習でよりスマートに進化 - GIGAZINE

人工知能・データサイエンス・暗号化などMicrosoftの研究者が予測する16の未来とは? - GIGAZINE

in レビュー,   ソフトウェア,   ネットサービス,   ウェブアプリ, Posted by log1d_ts

You can read the machine translated English article here.