macOS BigSurでデータサイエンス100本ノック

はじめに_

「データサイエンティスト協会スキル定義委員」の「データサイエンス100本ノック(構造化データ加工編)」の実行環境を構築する。

前提_

macOS BigSurにhomebrewがインストール済みとする。

Dockerのインストール_

Homebrewを使ってインストールする。

% brew install --cask docker

Docker Desktopを起動する。起動時にいろいろと許可が求められるが都度都度対応する。

% open /Applications/Docker.app

Docker Desktop起動時のチュートリアルはやってもやらなくてもよい(使ったことがない人はやってみる)。コマンドにdockerがあるのを確認する。

% which docker
/usr/local/bin/docker

% % docker --version
Docker version 20.10.8, build 3967b7d

データサイエンス100本ノック(構造化データ加工編)の実行環境設定_

ターミナル上で以下のように作業を進める。まず、作業ディレクトリを作成する。

% mkdir -p ~/Sandbox/DS100Knocks
% cd ~/Sandbox/DS100Knocks

データサイエンス100本ノック(構造化データ加工編)のリポジトリを取得する。

% git clone https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess.git

% cd 100knocks-preprocess

% docker-compose up -d --build
Creating network "100knocks-preprocess_default" with the default driver
Building db
[+] Building 21.0s (5/5) FINISHED                                               
 => [internal] load build definition from Dockerfile                       0.1s
 => => transferring dockerfile: 88B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
 => [internal] load metadata for docker.io/library/postgres:14.0-alpine    3.5s
 => [1/1] FROM docker.io/library/postgres:14.0-alpine@sha256:1cf551de75f  17.3s
 => => resolve docker.io/library/postgres:14.0-alpine@sha256:1cf551de75fd  0.0s
 => => sha256:a0d0a0d46f8b52473982a3c466318f479767577551a 2.81MB / 2.81MB  0.7s
〜中略〜
 => => exporting layers                                                    5.0s
 => => writing image sha256:a7c61b13c221e14d944df8047f7433f4b7278a28a9e75  0.0s
 => => naming to docker.io/library/dss-notebook                            0.0s

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
Creating dss-postgres ... done
Creating dss-notebook ... done

これでDockerに実行環境が準備される。Webブラウザ(MS Edgeなど)で以下のURLにアクセスする。 http://localhost:8888

データサイエンス100本ノック(構造化データ加工編)の実行方法_

Docker Desktopにて100knocks-preprocessが動いていることを確認する。以下のように表示されていれば動いている。

Webブラウザ(Safariなど)で以下のURLにアクセスする。

すると以下のようなWebサイトが表示される。

下図赤枠のworkをクリックする。すると preprocess_knock_XXX.ipynbというファイルがある。これが100本ノック本体となる。ここではSQL版を開いている。

コマンドの実行は、まず、セルをアクティブ(カーソルで選択)する。

セルをアクティブにした状態で、左上にあるメニューのRun→Run Selected Cellを選ぶ。そうすると、コマンドが実行される。以下の例は初期設定の実行。

各問題への解答はCellへ入力し、Runで実行するという流れになる。模範回答はanswerディレクトリの下にある。以下の例はSQLのノック1本目を回答し、実行した例。

戻る_