【解説】データサイエンス100本ノックの始め方

【解説】データサイエンス100本ノックの始め方



当ページのリンクには広告が含まれています。



目次

この記事の対象者


・ データサイエンスの勉強をしたい人

・ データサイエンティスト協会がGithubに公開している問題演習をやりたい人

本記事は、M1 Macbookを用いた手順になります。

WindowsのPCの方は、適宜読み替えて実施していただければと思います。

なお、本ブログでは、データサイエンス100本ノックの全解答解説を掲載しています。
ブックマークなどして答え合わせに役立てていただければと思います。

データサイエンス100本ノックの回答集 | タグ: datascience - omathin blog

Dockerのインストール

まずはDockerをインストールしましょう。

以下の記事にまとめられている方法で導入可能です。
https://qiita.com/ao41/items/5feb96cd01c312407a2b

本記事におけるDockerとDocker Composeのバージョンは以下のとおりです。

terminal
1
2
3
4
5
$ docker --version
Docker version 20.10.1, build 831ebeae96

$ docker-compose --version
docker-compose version 1.27.4, build 40524192

データサイエンス100本ノックのGitHubリポジトリURLをコピー

  • 以下が一般社団法人データサイエンス100本ノックのGitHubです。以下のURLを押してください。

https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess/tree/master

  • 上記のURLを押して100本ノックのGitHubが開いたら、「Code」というボタンをクリックしましょう。
  • すると、DockerfileをダウンロードするためのURLが現れるので、コピーしましょう。

GitHubリポジトリのURLを確認

  • 2021年5月30日時点でのダウンロード先のURLはhttps://github.com/The-Japan-DataScientist-Society/100knocks-preprocess.gitです。

ターミナルを起動してDockerを起動する

ターミナルを起動し、先程のURLを用いて以下のコマンドを実行しましょう。

なお、以下のコマンドを実行するためには、Gitのインストールが必要です。gitコマンドが実行できない方は、gitのインストールがされていない可能性があるので、gitのインストールを行いましょう。

>> Gitのインストール方法を確認する

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

コマンドを実行すると、コマンドを実行したディレクトリに、100knocks-preprocessというフォルダが作成されます。

以下のコマンドで、100knocks-preprocessというフォルダに移動します。

terminal
1
$ cd 100knocks-preprocess

lsコマンドを実行し、Dockerfiledocker-compose.ymlファイルが含まれていたらOKです。

以下のコマンドを実行し、ビルドを実行します。

terminal
1
$ docker-compose up -d --build

5分くらい様々な処理が走ります。

最後に以下のような出力が得られたら成功かと思います。

terminal
1
2
3
4
Successfully built 301a64dee71b
Successfully tagged dss-notebook:latest
Creating dss-postgres ... done
Creating dss-notebook ... done

docker desktopのDashboardも確認してみましょう。

Docker Desktopの画面

ちゃんと起動していますね。

Jupyter Labにアクセス

Dockerの起動が確認できたら以下のURLをクリックしてください。

http://localhost:8888

ブラウザにてJupyterLabの場面に遷移するはずです。

Jupyter Labの画面

これで完了です。

「そもそもDockerってなに?」という方は、以下の記事も参考にしてください。

100本ノックの問題を確認する

環境構築が完了したら、問題を確認しましょう。

問題は、docという名前のフォルダ配下にあるpdfファイルです。

docフォルダまで移動したら、open .コマンドでFinderを開きましょう。

terminal
1
2
$ cd ~/100knocks-preprocess/docker/doc 
$ open .

Finderが開けたら、100knocks_questions.pdfというファイルを開きましょう。問題が確認できます。

100本ノックの問題を解いてみよう!

早速問題を解いてみよう!

第1問目だけ、本記事で解いてみたいと思います。

問題は以下のとおりです。

レシート明細のデータフレーム(df_receipt)から全項目の先頭10件を表示し、どのようなデータを保有しているか目視で確認せよ。

この問題は、Pandasというライブラリを使って、データの確認を行います。

Pandasは、一般的なデータベースで行える操作が実行でき、数値の他にも氏名や住所などの文字列データも簡単に扱うことができるライブラリです。

JupyterLabのセルに以下のコードを記載し、shift + Enterを押しましょう。

pandasをインポート
1
import pandas as pd

dataフォルダに配置してあるreceipt.csvファイルを読み込みます。

receipt.csvの読み込み
1
df_receipt = pd.read_csv('./data/receipt.csv')

以下のコードで先頭10件を表示します。先頭10件を表示するためには.head()メソッドを使います。

全項目の先頭10件を表示
1
df_receipt.head(10)

以下のような出力が得られれば成功です。

コンソール
1
2
3
4
5
6
7
8
9
10
11
	sales_ymd	sales_epoch	store_cd	receipt_no	receipt_sub_no	customer_id	product_cd	quantity	amount
0 20181103 1541203200 S14006 112 1 CS006214000001 P070305012 1 158
1 20181118 1542499200 S13008 1132 2 CS008415000097 P070701017 1 81
2 20170712 1499817600 S14028 1102 1 CS028414000014 P060101005 1 170
3 20190205 1549324800 S14042 1132 1 ZZ000000000000 P050301001 1 25
4 20180821 1534809600 S14025 1102 2 CS025415000050 P060102007 1 90
5 20190605 1559692800 S13003 1112 1 CS003515000195 P050102002 1 138
6 20181205 1543968000 S14024 1102 2 CS024514000042 P080101005 1 30
7 20190922 1569110400 S14040 1102 1 CS040415000178 P070501004 1 128
8 20170504 1493856000 S13020 1112 2 ZZ000000000000 P071302010 1 770
9 20191010 1570665600 S14027 1102 1 CS027514000015 P071101003 1 680

回答は、docフォルダに配置されているans_preprocess_knock_Python.htmlで確認できます。

問題の続きを解いていきたい人は、以下の記事に参考にしてください。

100本ノックを終える方法

100本ノックを終了する方法

基本的には、そのままPCをシャットダウンしていただいて大丈夫です。

明示的にdockerの起動を停止したい場合は、以下の通りstopコマンドを実行すればOKです。

docker-composeの停止
1
2
3
$ docker-compose stop
Stopping dss-notebook ... done
Stopping dss-postgres ... done

Docker Desktopの画面を確認し、以下のようになっていれば停止しています。

docker-compose stopコマンド実行後のDocker Desktopの表示

100本ノックを再開する方法

100本ノックを再開する場合は、以下のコマンドを実行しましょう。

100本ノックを再開する際のコマンド
1
$ docker-compose up -d

上記のコマンドを実行し、以下のような出力が得られたらOKです。

出力
1
2
Starting dss-postgres ... done
Starting dss-notebook ... done

Google Chromeなどのブラウザで、localhos:8888にアクセスすれば、Jupyter Labにアクセスできると思います。

まとめ

本記事では「【M1 Mac】データサイエンス100本ノックの始め方」というテーマでまとめました。

今回紹介した教材を使って、コスパ良くプログラミングを学んでいきましょう。

データサイエンティストに必要な知識は、私も受講したAidemyがおすすめです。

>> Aidemy公式ホームページ

Aidemyを受講した感想もまとめてるので、合わせて読んでみてください。

Aidemy以外では、受講期限なく永遠に最新のデータサイエンスが学べる「キカガク」もおすすめです。

キカガク受講者の口コミを確認する(公式サイトへ)

まずは無料説明会への参加から、はじめてみましょう。

>> 第11問〜第12問の回答解説を確認する

データサイエンス100本ノックの各問題の回答は、以下のリンクから確認できます。

データサイエンス100本ノックの回答集 | タグ: datascience - omathin blog

コメント

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy