DataScience

Pythonで始める : データサイエンスの独学完全マップ【初心者向け】

データサイエンス 独学 ロードマップ
データサイエンスを勉強したい人
データサイエンスを勉強したい人
完全初心者から、データサイエンスを勉強したい!

でも何から勉強していけば良いのか分からないな…。学習手順について、詳しく書かれている記事はないかな…。

この記事では、上記のような悩みを解決していきます。

 

この記事の内容

  • データサイエンスの独学完全ロードマップ

 

この記事を書いている僕は、フリーランスのデータサイエンティスト。

過去に、画像認識や需要予測に携わり、今ではデータ基盤の構築や、自然言語処理を使った案件に参画しています。

 

とはいえ僕自身、”データサイエンス”と聞いたとき、何から勉強したら良いのかわかりませんでした。そもそも、データサイエンスに必要なスキルすら分からず、、、勉強を始めるまでに苦労しました。

 

今回はそんな僕が、『データサイエンスの完全独学ロードマップ』を紹介していきます。

 

この記事の順番で学習していけば、データサイエンスの基礎が身につくようになっています。

キャリアアップのために、データサイエンスを勉強しよう」と考えている方は、ぜひご覧ください。

 

※なお、今回は「完全ロードマップ」という形でガッツリ記事を書いており、、、長くなるので、ブックマーク推奨です。

 

STEP0 : データサイエンス独学完全ロードマップで目指す目標

 

まずは目標を確認しましょう。

この記事では、最終的に以下の状態になっていることを目標にします。

完全未経験から、データサイエンティストとして活動するための、最低限必要になるスキルを身につけること

上記の目標にフォーカスした記事になっています。

 

そもそも、データサイエンティストに必要だと言われているスキルは、一般的に「3つ」あります。

 

データサイエンティストに必要なスキル

  • ビジネス力
  • データサイエンス力
  • データエンジニアリング力

これらのスキルが必要だと言われています。

ですが、これだけだと、若干わかりにくいですよね。なので、僕の方で分かりやすい解釈に変換しました。

 

結論 : データサイエンティストに必要なスキル

  • ビジネス力 → 業界の理解と、仮説検証
  • データサイエンス力 → ざっくり言えば、数学・統計学
  • データエンジニアリング力 → ざっくり言えば、プログラミング

だいぶ噛み砕いていますが、だいたい必要なスキルはこんな感じです。

 

独学でデータサイエンスを勉強するとき、ビジネス力を向上させるのは難しいですよね。

なので、個人でデータサイエンスを勉強するときは、「データサイエンス力」と「データエンジニアリング力」を身に付けることになります。

 

要するに、「数学」と「プログラミング」を勉強するってことですね。

そして、この完全ロードマップでは、データサイエンスをやっていく上で「最低限、必要になる数学と、プログラミングのスキル」を身につけることを目標にしています。

 

データサイエンティストを目指している大学生や、ジョブチェンジを考えている社会人の第一歩になるはずです。

 

STEP1 : 独学で必要な費用と勉強時間

 

この完全ロードマップを使って学習したときに、必要な費用と勉強時間は以下のとおりです。

  • 費用 : 約2万円ほど
  • 期間 : 2〜3ヶ月ほど

ざっくりした計算ですが、だいたいこれくらいで済みます。

 

データサイエンスを学べるスクールだと70〜100万円かかるので、独学で勉強する場合は安くおさえられるのが嬉しいですね。

 

補足 : スクールアンチではないです

ただ、僕は独学が最高と思ってないですし、スクールが正義とも思っていません。

自分に合った勉強方法が必ず存在するので、正直「自分がどういう性格なのか?」によると思います。

 

さらに、データサイエンス系のスクールは、企業で法人研修を実施していることが多いので、スクールを出ていると「これくらいのスキル感の人なんだな」と、スクール出身が実績になる場合があります。

 

なので、本気でデータサイエンティストを目指しているなら、最初からスクールを使ってしまうのも手ですね。

スクールのデメリットは高額なことでしたが、最近だと”補助金のおかげで安くなる”ので、そこまでデメリットがなくなってきました。

 

なお、データサイエンスを学べるスクールは、以下の記事でまとめています。

データサイエンス スクール
現役が紹介 : データサイエンスが学べるスクール4選【使い方も解説】『データサイエンスを勉強したくてスクールを見ているんだけど、そこのスクールが良いんだろう...。おすすめのスクールも知りたいし、どうやって活用していけば良いのか知りたい!』このような悩みを解決する記事になっています。データサイエンスを学べるスクールを探している方は必見です!...

 

STEP2 : データサイエンスの勉強を始める前に読むべき本

 

データサイエンスを学び始める前に、読むべき本が2冊ほどあります。

 

読むべき本① : これからのデータサイエンスビジネス

タイトルのとおり、データサイエンスビジネスについて、非常にコンパクトにまとまっている書籍です。

 

2019年9月に発売された書籍で、情報も新しいのがポイントですね。

 

「どのようにプロジェクトを回していくのか?」といった、実務部分を学べるので、この本を読んでおくと、データサイエンティストの仕事イメージが付きやすいのかなと。

 

実務イメージが付いていると、独学の理解度も上がります。

なので「実務的な話は、まだ早いかな…。」とか考えずに、先に読んでおくことをオススメします。

 

読むべき本② : 統計学が最強の学問である

統計学分野で、非常に有名な本です。データサイエンティストに限らず、ビジネスマンなら読んでいる書籍ですね。

 

この本は「統計学で何ができるのか?」を学べるようになっています。

「結局、こんなのどこで使うんだよ」となるのが、統計学あるあるです。そして、こういったモチベーションだと、勉強していて退屈になってしまいます。

 

ゆえに、データサイエンスの基礎になる統計学を勉強していくなら必読です。

 

とりあえず、この2冊でOKです

本当は、他にも色々な本がありますが、、、とりあえず上記で紹介した2冊でオッケイですね。

 

あまり深追いすると、前に進めなくなります。サクサク次に進むようにしましょう。

 

STEP3 : データサイエンスの勉強でおすすめのPC

 

この記事は「完全初心者向けのロードマップ」になっているので、データサイエンスの勉強でおすすめのPCまで触れていきます。

それで、データサイエンスでおすすめのPCですが、、、「ぶっちゃけ特にないかな」というのが本音です。

 

あまりにもスペックの低いパソコンだと、勉強していてストレスになると思うので、ある程度のCPUとメモリを確保したPCであれば何でもOKです。

 

余談 : Macbookをお得に購入する方法

あまり知られていませんが、楽天Rebatesを使うとMacbookがお得に購入できます。

このサイトを経由して買い物するだけで、楽天ポイントが付与される仕組みです。

楽天Rebates

Apple公式ストアだと、1%のポイントバックを受けられます。

Macbookは一番低いスペックでも高額の買い物になるので、1%といえど結構ポイントが貯まりますよ(`・ω・´)!

 

STEP4 : Pythonの基礎を学ぶ

 

ここまできたら、ようやく具体的な学習に入っていきます。

まずは、データサイエンスで頻繁に使われているプログラミング言語Pythonの勉強を始めていきましょう。

 

Pythonの勉強で使う教材

  • Progate : スライド形式&Webで、Pythonを学べる / 月額980円
  • YouTube : 動画形式で、Pythonを学べる / 無料

ゼロからプログラミングを勉強するなら、上記のいずれかですね。

 

Pythonの学習教材① : Progate

 

Progateは、プログラミング初心者に人気のサービスです。

progate

プログラミング学習の挫折ポイント1つ目は”環境構築”なのですが、Progateを使えば環境構築する必要がありません。

 

世の中には素晴らしい学習サービスがあるので、積極的に使っていきましょう。

 

なお、Progateの学習期間は「2週間」が目安です。

  • 1週目 : Pythonの全5レッスン(1回目)
  • 2週目 : Pythonの全5レッスン(2回目)

上記のとおり。

つまり、2週間のうちにPythonコースを2周します。

 

1回で完璧にしようとせず、回数を重ねて反復学習するようにしましょう。

 

あと、Pythonの学習は2週間で終える予定ですが、料金は1ヶ月ぶん払っているので、あと2週間の猶予があります。

その2週間で、SQLコマンドラインの勉強をしておくことをオススメします。

SQLはデータベースからデータを抽出するときに、コマンドラインはそもそものPC操作で使います。

 

Pythonの学習教材② : YouTube

 

これは、僕のYouTubeチャンネルです。

YouTube Python入門

もちろんYouTubeなので、無料でご活用いただけます。

 

Progateより、学習範囲が広いです

なお、僕のYouTubeチャンネルは、Progateより深掘りしている部分があります。

 

たとえば、”lambda式”はProgateで扱っていません。でも、データサイエンスをやるなら、必須のPython文法です。

 

また、学習で使っているJupyter Notebookは、データサイエンティストに必須のツールです。

 

なので、可能であれば、僕のYouTubeチャンネルを使って頂けると良いかと。

※もちろん、品質は保証します。笑

 

RとPythonは、まずPythonが良いです

あとデータサイエンスをやるなら、RとPythonの二択になるかと思うのですが、、、まずはPythonをオススメします。

 

理由としては、次のとおりです。

  • 案件数で考えても、Pythonが多い
  • Pythonだと、できることが多い
  • Jupyter Notebookが便利すぎ

こんな感じです。

Pythonは汎用性も高く、取り入れている企業が多いです。

 

なので、まずは無難にPythonを勉強していき、余力があればRをやってみるくらいで良いと思います。

 

STEP5 : 自分のPCでPythonの環境を整える

 

ProgateまたはYouTubeでPythonを勉強したら、環境構築をやっていきましょう。

 

実は、Pythonの環境構築には、色々な方法があります。

※YouTubeで学習して頂いた方は、【Python入門②】Pythonを使える状態に!環境構築の種類と設定方法を紹介【2020年版】と同じ内容です。

 

Pythonの環境構築方法

ローカル向き :

  • Pythonそのものを入れる
  • Anacondaを使ってPythonを入れる

オンライン向き :

  • Google ColaboratoryでPythonを使う
  • AWS Cloud9でPythonを使う

この中で、”データサイエンス”を目的にPythonを使うのであれば、「ローカル向き」の「Anaconda」を使って環境構築するのをオススメします。

 

オンライン向きのGoogle Colaboratoryも、もちろん便利なのですが、、、データサイエンスで必須になる「ファイルの読み込み」が少し面倒です。

 

慣れてきたらGoogle Colaboratoryでも良いですが、それまでは自分のPCにAnacondaをインストールしましょう。

 

使っているPCがMacなら、下記の記事を参考にしつつAnacondaを導入してみてください。

Anaconda インストール mac
【Mac向け】AnacondaをインストールしてPython環境の構築『macを使っているんだけど、Pythonの環境構築が意味不明だ...。』『Anacondaを使って環境構築したいな...。』このような悩みを解決する記事になっています。...

 

Windowsをお使いの方は『Anaconda を Windows にインストールする手順』が分かりやすいと思います。

基本的には、ポチポチ「次へ」を押していけばOKです。

 

インストール完了後 : 仮想環境を作成してみよう

インストールを完了できたら、仮想環境を作成してみましょう。仮想環境とは、読んで字のごとく「仮想のPython実行環境」です。

仮想環境を作成する理由や、作成手順については下記の記事にて解説しています。

Anaconda 仮想環境 Python
【Python初心者】Anacondaで仮想環境とnumpyの導入Pythonの勉強を始めたばかりで、仮想環境の構築とかよく分からない...。このような悩みを解決していきます。Anacondaの仮想環境を構築するところから、ライブラリnumpyの導入までを、分かりやすく解説していきますよ。...

 

STEP6 : 機械学習の基礎を勉強する

 

Pythonを自分のPCでも使えるようにしたら、次は機械学習の勉強をしていきます。

機械学習の勉強といっても、ゴリゴリに理論を学ぶのではなく、機械学習ってこんな感じなんだな〜と俯瞰する程度の内容です。

 

機械学習の基礎勉強でおすすめの本

色々と読み漁ったのですが、G検定の本が一番よくまとまっているという結論です。

G検定とは、日本ディープラーニング協会が開催しているAIの資格試験です。

その検定試験で使われている参考書で、機械学習について勉強していくってことになります。

 

ただ、資格試験自体を受験する必要はないですし、端から端まで暗記しなければいけないってわけでもないです。

「機械学習の歴史とか手法って、こんな感じなんだな〜」と学べればOKなので、あんまり神経質にならないで読み進めていきましょう。

早ければ1日くらいで読了できるかと思います。

 

STEP7 : Udemyのデータサイエンスコースを受講する

 

ここまできたら、実際にPythonを使いつつデータサイエンスに触れていきます。

 

STEP7で使う教材

【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門

データサイエンスの実戦で使う教材は、Udemyの『【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門』です。

ぶっちゃけ、これ以上に分かりやすくて知識量も満足のいく講座は、他にはないと思います。

 

この講座を使いつつ、以下のような内容を学んでいきましょう。

  • データの可視化
  • 欠損値の処理
  • 機械学習の実装

上記のような実装面を、理論はいったん飛ばして学習していきます。

 

もちろん理論も大事なんですけど、学ぶべき順番は「実装→理論」かなと。

なぜなら、理論から学習を始めてしまうと、挫折する可能性が高くなるからです。

せっかくデータサイエンスに興味を持ったのに、理論面から勉強を始めて挫折してしまったら、勿体なさすぎです。

 

この講座なら、書籍とは違って動きを確認しつつ勉強できるので、初心者でも取り組みやすいです。

しかも、お値段が約1,300円と、書籍より安く購入できます。

データサイエンスの基礎は、この講座を使って身につけていきましょう。

 

STEP8 : scikit-learnで花の品種分類【レベルチェックテスト①】

 

これまでに学習したことを活かして、scikit-learnで花の品種分類をやってみましょう。

これはレベルチェックテストなので、今まで学習したことがしっかりと身についているか確認するためのものです。

 

レベルチェックテスト要件

  • scikit-learnに入っている、irisデータを使いましょう
  • 機械学習する前に、データの可視化をしましょう
  • 機械学習手法は、なんでもOKです
  • 決定木を使う場合には、可視化しましょう
  • データの可視化をseabornでキレイに出力できると、なお良しです
  • GridSearchを使えると、なお良しです
  • モデルの評価方法も、色々試せるとなお良しです

上記を満たすように、花の品種分類をやってみてください。

なおググるのはOKで、むしろscikit-learnに入っているirisデータの使い方とか調べてみてください。

欠損値はないし、かなりキレイなデータではありますが、ここまで出来れば基本的な機械学習の実装が出来ている状態になります。

 

STEP9 : 統計学の基礎を学ぶ

 

基本的な機械学習の実装が出来るようになったところで、少し理論の勉強に入っていきます。

おそらく、「先に実装して後から理論」の順番で勉強していくと、「あのとき使ったやつだ〜」と、理解しやすくなります。

理論の勉強は一般的に難しいと言われていますが、このロードマップのとおりに学習を進めていれば頭に入ってきやすいはずです。

 

統計学の勉強① : 統計Webのススメ

 

まずは統計Webを使って、統計学の基礎を学習していきましょう。

統計Webは、統計検定2級で出題される統計学を学習できるサイトになっています。

 

統計Web : おすすめの使い方

  • 1週目 : とりあえず読み進めましょう
  • 2週目 : 練習問題もやってみましょう

こんな感じで学習を進めていきましょう。

なお途中で読み進めていて分からなくなってきたら、紙に書いてみるのもアリです。

分散分析とか、わりと紛らわしいところは紙に書きつつ学習を進めると、理解しやすいかと思います。

 

統計学の勉強② : 書籍・参考書のススメ

 

統計Webで基礎的な統計学を学んだら、書籍を使って学習を進めていきます。

 

統計学でおすすめの書籍

統計学でおすすめの書籍は、下記の記事でまとめました。

統計学 本 入門書
【入門書まとめ】統計学でおすすめの本5冊を数学科出身が紹介『統計学の勉強がしたいんだけど、おすすめの入門書はないかな...?自分のレベルに合った本を見つけられると嬉しいな!』このような悩みを解決できる記事になっています。統計学の入門書を探している人は必見です。...

 

統計Webを読み進めた方なら、『おすすめ④:完全独習 統計学入門』からスタートで大丈夫です。

 

読んでいるだけだと眠くなってくる方向け : 統計検定2級の誘い

 

もし統計学を学んでいて「なんだか読んでいるだけだと眠くなってくるし、イマイチ頭に入ってこないな〜」と感じるのであれば、統計検定2級の問題を解いてみることをオススメします。

やはりアウトプットすると、知識の定着具合が変わってきますので。

なお統計検定は取得しなくても大丈夫ですが、「数学ができることを証明したい」のであれば、企業ウケは良いので取得しても良いかもです。

その場合は、僕が実際に受験したときの勉強方法が参考になるかと思います。

統計検定2級 勉強方法 2019年11月合格
統計検定2級に合格したときの勉強法を公開【2019年11月最新】『統計検定2級を受験したいんだけど、どうやって勉強したら良いんだろう。実際に合格した人の勉強法が知りたいな〜。試験日まで時間がないから、できれば効率的に学習したい!』このような悩みを解決する記事になっています。統計検定2級を受験しようと考えている方は必見です。...

 

STEP10 : Pandasの取り扱い

 

統計学の学習が完了したら、Pandasの取り扱いに慣れていきましょう。

なぜこのタイミングでPandas…?」と思われるかもですが、ぶっちゃけscikit-learnなんかより使用頻度が高いからです。

 

それに機械学習の実装も大事ですが、その前にデータがないと意味ナシです。

Pandasは機械学習を実装したり、データを扱いやすくするのに必要なので、別でしっかりと学習しておきましょう。

 

Pandasの学習でおすすめの書籍

こちらの書籍1冊で、対応可能です。

STEP7のUdemy動画で扱っていなかったようなデータフレームのマージなど、より発展的で実務でも使うような内容が書かれています。

 

再度繰り返しになりますが、データサイエンスをやっていくのであれば、scikit-learnよりPandasになってくるので、しっかりと使い方をおさえておきましょう。

 

STEP11 : タイタニック号の生存者判定【レベルチェックテスト②】

 

ここまで学習すると、欠けているデータを補完することもできるし、統計的な意味の解釈もできるようになっているはずなので、わりと出来ることが多いはずです。

というわけで、レベルチェックテストをやっていきましょう。

 

タイタニック号の乗客が生存するか否かを分類するタスクです。

 

レベルチェックテスト要件

  • Kaggleから、タイタニック号のcsvファイルを取得しましょう
  • 機械学習する前に、データの可視化をしましょう
  • 機械学習手法は、なんでもOKです
  • 決定木を使う場合には、可視化しましょう
  • データの可視化をseabornでキレイに出力できると、なお良しです
  • GridSearchを使えると、なお良しです
  • モデルの評価方法も、色々試せるとなお良しです

上記を満たすように、タイタニック号の分類問題をやってみてください。

なお、Kaggleのカンタンな使い方は、下記の記事で紹介しています。

https://tech-diary.net/kaggle-beginner-titanic/

こちらの記事を参考にしつつ、Kaggleの登録からcsvファイルの取得までやっていきましょう。

 

今回は「レベルチェックテスト①」とは違って、欠損値を含んでいることにも注意が必要ですよ!

 

STEP12 : 「ここまでの復習 + スキルアップ」できる書籍 + 動画

 

STEP11のレベルチェックテストを完了できたら、基本的な機械学習の流れから実装まで分かっているかと思います。

ただ、機械学習手法については少し手薄になっているので、復習も兼ねてさらにレベルアップした内容を学習していきましょう。

 

「ここまでの復習 + スキルアップ」できる書籍

 

少し重複する部分も出てきてしまいますが、「東京大学のデータサイエンティスト育成講座」が、かなりオススメです。

タイトルのとおりで、東京大学で行われているデータサイエンティスト育成講座の内容が書籍化されています。

復習しつつも、手薄にしていた機械学習の部分も学べるので、更なるスキルアップにもってこいの一冊になります。

練習問題も付いているので、一緒にアウトプットをできるのも良いですね!

 

「ここまでの復習 + スキルアップ」できる動画

 

機械学習を深く学ぶのには、機械学習 | 筑波大学オープンコースウェアがおすすめです。

筑波大学 機械学習講義

こちらはなんと、筑波大学で実施されている機械学習の講義が、無料で受講できます。

 

しかも理論面について詳しく解説されているので、今まで手薄にしていた「機械学習の理論」について深く学べます。

データサイエンスより機械学習寄りではありますが、知っておいて損はないですね。

 

なおここまで学習しておくと「最低限の理論面を理解しつつ、実装もできる」という状態になっているはずです。

もちろんデータサイエンスや機械学習は、もっと奥が深いので毎日勉強が必要です。

ただ、追加で学習していくだけの基礎体力は身についていると言えます。

 

STEP13 : Kaggleコンペの準備

 

あとはひたすらアウトプットあるのみ!Kaggleコンペに参加していきましょう。

 

Kaggle参戦前におすすめの書籍

「Kaggleで勝つデータ分析の技術」は、その名の通りでKaggleコンペで勝つための本になっています。

具体的には、次のような内容が書かれています。

  • Kaggleで開催されているコンペの種類
  • Kaggleで上位に入っている人のテクニック
  • Kaggleで上位に入っている人が使う機械学習手法

こんな感じで、Kaggleで勝つための技術が、もれなく書かれています。

なおこの書籍に書かれている内容は、単にKaggleで勝つだけでなく、実際のデータサイエンスの現場でも使えます。

 

Kaggleコンペに参加して、ゲーム感覚でデータサイエンスを学んでいきましょう。

 

まとめ : データサイエンスは難しいけど、習得すれば収入アップ

 

というわけで、ここまでデータサイエンス完全ロードマップを紹介してきました。

データサイエンスは難しいですが、習得すれば間違えなく収入アップが見込めます。

 

実際に僕もデータサイエンティストとして働いていますが、周りの同世代と比べるとかなり高年収です。

30台前半の会社員でも、年収1,000万円くらい取れるような世界です。

 

もし少しでも興味があるなら、積極的に勉強していくことをおすすめします。

世の中の需要がバグっている今こそが、データサイエンスを勉強する絶好のタイミングです(`・ω・´)!

 

おすすめの記事