【解説】データサイエンス100本ノックの始め方
当ページのリンクには広告が含まれています。
目次
- この記事の対象者
- Dockerのインストール
- データサイエンス100本ノックのGitHubリポジトリURLをコピー
- ターミナルを起動してDockerを起動する
- Jupyter Labにアクセス
- 100本ノックの問題を確認する
- 100本ノックの問題を解いてみよう!
- 100本ノックを終える方法
- 100本ノックを再開する方法
- まとめ
この記事の対象者
・ データサイエンティスト協会がGithubに公開している問題演習をやりたい人
本記事は、M1 Macbookを用いた手順になります。
WindowsのPCの方は、適宜読み替えて実施していただければと思います。
なお、本ブログでは、データサイエンス100本ノックの全解答解説を掲載しています。
ブックマークなどして答え合わせに役立てていただければと思います。
データサイエンス100本ノックの回答集 | タグ: datascience - omathin blog
Dockerのインストール
まずはDockerをインストールしましょう。
以下の記事にまとめられている方法で導入可能です。
https://qiita.com/ao41/items/5feb96cd01c312407a2b
本記事におけるDockerとDocker Composeのバージョンは以下のとおりです。
1 | $ docker --version |
データサイエンス100本ノックのGitHubリポジトリURLをコピー
- 以下が一般社団法人データサイエンス100本ノックのGitHubです。以下のURLを押してください。
https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess/tree/master
- 上記のURLを押して100本ノックのGitHubが開いたら、「Code」というボタンをクリックしましょう。
- すると、DockerfileをダウンロードするためのURLが現れるので、コピーしましょう。
- 2021年5月30日時点でのダウンロード先のURLは
https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess.git
です。
ターミナルを起動してDockerを起動する
ターミナルを起動し、先程のURLを用いて以下のコマンドを実行しましょう。
なお、以下のコマンドを実行するためには、Gitのインストールが必要です。gitコマンドが実行できない方は、gitのインストールがされていない可能性があるので、gitのインストールを行いましょう。
1 | $ git clone https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess.git |
コマンドを実行すると、コマンドを実行したディレクトリに、100knocks-preprocess
というフォルダが作成されます。
以下のコマンドで、100knocks-preprocess
というフォルダに移動します。
1 | $ cd 100knocks-preprocess |
ls
コマンドを実行し、Dockerfile
とdocker-compose.yml
ファイルが含まれていたらOKです。
以下のコマンドを実行し、ビルドを実行します。
1 | $ docker-compose up -d --build |
5分くらい様々な処理が走ります。
最後に以下のような出力が得られたら成功かと思います。
1 | Successfully built 301a64dee71b |
docker desktopのDashboardも確認してみましょう。
ちゃんと起動していますね。
Jupyter Labにアクセス
Dockerの起動が確認できたら以下のURLをクリックしてください。
ブラウザにてJupyterLabの場面に遷移するはずです。
これで完了です。
「そもそもDockerってなに?」という方は、以下の記事も参考にしてください。
100本ノックの問題を確認する
環境構築が完了したら、問題を確認しましょう。
問題は、doc
という名前のフォルダ配下にあるpdfファイルです。
doc
フォルダまで移動したら、open .
コマンドでFinderを開きましょう。
1 | $ cd ~/100knocks-preprocess/docker/doc |
Finderが開けたら、100knocks_questions.pdf
というファイルを開きましょう。問題が確認できます。
100本ノックの問題を解いてみよう!
第1問目だけ、本記事で解いてみたいと思います。
問題は以下のとおりです。
レシート明細のデータフレーム(df_receipt)から全項目の先頭10件を表示し、どのようなデータを保有しているか目視で確認せよ。
この問題は、Pandasというライブラリを使って、データの確認を行います。
Pandasは、一般的なデータベースで行える操作が実行でき、数値の他にも氏名や住所などの文字列データも簡単に扱うことができるライブラリです。
JupyterLabのセルに以下のコードを記載し、shift + Enterを押しましょう。
1 | import pandas as pd |
data
フォルダに配置してあるreceipt.csv
ファイルを読み込みます。
1 | df_receipt = pd.read_csv('./data/receipt.csv') |
以下のコードで先頭10件を表示します。先頭10件を表示するためには.head()
メソッドを使います。
1 | df_receipt.head(10) |
以下のような出力が得られれば成功です。
1 | sales_ymd sales_epoch store_cd receipt_no receipt_sub_no customer_id product_cd quantity amount |
回答は、doc
フォルダに配置されているans_preprocess_knock_Python.html
で確認できます。
問題の続きを解いていきたい人は、以下の記事に参考にしてください。
100本ノックを終える方法
基本的には、そのままPCをシャットダウンしていただいて大丈夫です。
明示的にdockerの起動を停止したい場合は、以下の通りstopコマンドを実行すればOKです。
1 | $ docker-compose stop |
Docker Desktopの画面を確認し、以下のようになっていれば停止しています。
100本ノックを再開する方法
100本ノックを再開する場合は、以下のコマンドを実行しましょう。
1 | $ docker-compose up -d |
上記のコマンドを実行し、以下のような出力が得られたらOKです。
1 | Starting dss-postgres ... done |
Google Chromeなどのブラウザで、localhos:8888
にアクセスすれば、Jupyter Labにアクセスできると思います。
まとめ
本記事では「【M1 Mac】データサイエンス100本ノックの始め方」というテーマでまとめました。
今回紹介した教材を使って、コスパ良くプログラミングを学んでいきましょう。
データサイエンティストに必要な知識は、私も受講したAidemyがおすすめです。
Aidemyを受講した感想もまとめてるので、合わせて読んでみてください。
Aidemy以外では、受講期限なく永遠に最新のデータサイエンスが学べる「キカガク」もおすすめです。
まずは無料説明会への参加から、はじめてみましょう。
データサイエンス100本ノックの各問題の回答は、以下のリンクから確認できます。