LoginSignup
62
85

More than 3 years have passed since last update.

データサイエンス100本ノック(構造化データ加工編)の環境構築(Windows10)

Last updated at Posted at 2020-06-21

はじめに

一般社団法人データサイエンティスト協会が、構造化データの加工を実践的に学べる無料の学習環境「データサイエンス100本ノック(構造化データ加工編)」GitHubに公開しました。
本記事は、初学者の方でも無料の学習環境を構築できるように、導入手順の詳細を記載しました。
(構築する実行環境は下図になります。)
dss_structure.png

前提条件(Windows10)

  1. Docker Desktop for Windows
    ※起動しない場合は、Hyper-Vが「無効」になっている可能性があるので「有効」に設定。
  2. Git for Windows
    ※インストール時のデフォルト設定である改行コード変更を「無効」に設定。
    ※本記事のコマンドはPowerShellで実行・検証済。
> git config --global core.autocrlf input

環境構築

学習環境用のディレクトリ(今回はdss)を作成し、100本ノックのリポジトリをクローンする。
その後、100本ノックのディレクトリ内に移動し、docker-composeコマンドを使ってコンテナを作成する。(10分前後の時間がかかる。)
※環境構築中に警告のポップアップが表示される場合、DockerのローカルPCに対するアクセス権限がない可能性があるため「Share it」を選択してアクセス権限を付与する。
※上記の方法で起動できない場合、DockerのSettingsでファイル共有が設定されているかを確認する。

> mkdir dss
> cd dss
> git clone https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess.git
> cd 100knocks-preprocess
> docker-compose up -d --build

起動済みのコンテナを確認し、「dss-notebook」「dss-postgres」の出力を確認できれば環境構築が成功。

> docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
b35f99d4148a        dss-notebook        "tini -g -- start-no…"   23 seconds ago      Up 22 seconds       0.0.0.0:8888->8888/tcp   dss-notebook
3cb559c7f66d        dss-postgres        "docker-entrypoint.s…"   27 seconds ago      Up 26 seconds       0.0.0.0:5432->5432/tcp   dss-postgres

使い方

ブラウザで下記のURLにアクセスすると、構築したJupyterの環境にアクセスできる。

http://localhost:8888

workディレクトリ配下に、構造化データ加工の演習問題の.ipynbファイルがある。
必要ライブラリのインポートや加工前のデータ取得は、最初のセルに記述済み。
演習問題に適した処理を、空欄のセルに入力して実行し、学習を進める。
dss_jupyter_work.png
演習問題の解答は、work/answerディレクトリ内に.ipynbファイルがある。
そのため、演習問題のファイルで回答した処理の正否を確認しながら作業可能。
dss_jupyter_answer.png

学習環境の停止・起動

下記のコマンドで、構築した環境を停止可能。

> docker-compose stop

また、2回目以降に起動する場合は、下記のコマンドで起動可能。

> docker-compose start

補足事項

構築した環境のレスポンスが遅い場合

Docker Desktop for WindowsのSettingsでResourcesのMemory値を変更してください。
推奨は、4.00GB以上です。
docker_settings_resources.png

8888ポートが使用されている場合

もし、ローカルホストの8888ポートを他の開発環境(LAMPなど)で利用している場合は、docker-compose.ymlを下記のように変更(notebookのportsの値を変更)することで対応可能。

docker-compose.yml
  notebook:
    ports:
      - "888:8888"

上記の場合、下記のURLでアクセス可能になる。

http://localhost:888

まとめ

Windows10環境における、データサイエンス100本ノック(構造化データ加工編)の環境構築手順を記載いたしました。
上記の手順で不明点や疑問点等がありましたら、コメントいただけますと幸いです。

参考リンク

データサイエンス100本ノックのガイド

62
85
9

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
62
85