はじめに

みなさん、こんにちは!
データサイエンスを勉強し始めてから約半年のインターン生です。
皆さんはどのようにしてデータサイエンスの勉強をはじめましたか?
データサイエンスの勉強をはじめたとき、

データサイエンスを勉強したいけど何からはじめればいいのか分からない...

という悩みを抱えていました。
そこで、本記事ではデータサイエンス入門ルートを紹介したいと思います。これから勉強をはじめようとしている方の参考となれば幸いです!

 そもそもデータサイエンスって何??

データサイエンスを学びたいけど、

そもそもデータサイエンスって何?

と思う方は、少なくないと思います。ざっくりいうと、データサイエンスとは、ビジネスにとって有益な知見を抽出するためのデータの研究のことを指します。
データサイエンスとは、明確な定義があるというよりかは、多くの研究分野の集合体として成り立っているといえます。例えば、数学や統計学、人工知能、コンピュータエンジニアリングなどの分野を横断的に扱いながら、原則と実践を組み合わせて、大量のデータを分析する能力が求められたりします。

データサイエンス入門ルート

データサイエンスの対象となる研究分野は広範囲に及びます。そのため、これまでの個々人の学習状況によって、学習の進め方が異なることがしばしばあります。
今回の記事では、高校レベルの数学を習得済みで、プログラミングにあまり慣れていない大学生のレベルを想定した入門ルートを作成しました。ご自身の学習状況に合わせて、適宜読み飛ばしながら参考にしてもらえればと思います!

1.データサイエンスの基礎知識

データサイエンスを学ぶにあたり、データサイエンスの歴史・目的・応用例・主要な概念・用語などを理解することは大切です。AWSによるデータサイエンスの説明では、データサイエンスにまつわる歴史・未来・用途・課題・プロセスなど、事細かに説明されているため、データサイエンスについての理解を深めることができます。

また、近年トレンドとなっている人工知能の概要や歴史的背景を学ぶと、機械学習や深層学習について知見を得られ、学習のモチベーションにつながると思います。人工知能は人間を超えるかでは、人工知能について、初学者にとって非常にわかりやすいように執筆されているため、非常におすすめです!

2.プログラミング

次に、データサイエンスに必要不可欠なプログラミングスキルについて紹介します。データサイエンスでは、PythonRなどのプログラミング言語がよく使用されます。初学者であれば、Pythonから始めることをおすすめします。特にPythonの多次元ベクトルの計算処理ライブラリであるnumpyやデータフレームライブラリであるpandasなどは、今後の学習で必須となるスキルです。

実際にコードを書く際は、Jupyter NotebookGoogle Colaboratoryなどのツールを利用することになると思います。初めてツールを利用する際は、自身の使用しているOSに注意しながら、環境を整えましょう。Google Colaboratoryは環境開発を必要とせず、GCPを無料で使用できる(制限あり)ことから、非常におすすめです!

Pythonを学ぶ方法はいくつかありますが、現在インターネット上には無料教材・講座が充実しているため、その中から独学できる教材をいくつか紹介します!

また、教材ではありませんが、Pythonのコードを書く際に注意しておくべきコーディング規約についても紹介します!

3.数学

データサイエンスでは、線形代数微積分確率統計などの分野に対する理解が必要となります。データの性質やパターンを理解したり、データから仮説を検証したりする方法を身につけることが必要です。これらの分野は大学の講義や参考書を用いて学習することで、力を身につけることができます。
これらの分野に対する理解を深めることで、機械学習や深層学習の理解に繋がります。また、統計学に関しては無料公開されているサイトも存在するということで、いくつか紹介しておきます!

また、統計学や数学の知識・スキルがどのように機械学習と紐付いていくのかを、わかりやすく図式化して説明している記事があるので、そちらを参考にすると良いかもしれません。

4.機械学習・深層学習

次に、機械学習や深層学習について学んでいきます。教師あり学習・教師なし学習・強化学習などをはじめ、回帰・分類・クラスタリングなどの手法や、ニューラルネットワーク・深層学習などのモデル、アルゴリズムを学び、データから予測して価値ある情報を生成する方法を習得する事ができます。インターネット上から、教材の閲覧や講座への参加をすることができるので、その一部を紹介します!

上記のような無料の教材や講義に合わせながら、機械学習や深層学習の定番本を活用していくことで、さらに知識を身につけることができます。
深層学習についての理解が深まったら、画像処理・自然言語処理などの非構造データの処理や、時系列解析・因果推論・実証分析・計量経済学・多変量解析などの統計モデリングなど、自身の興味ある分野を実装するだけの力が身についていることでしょう。

5.実践的なプロジェクト

最後は、実践的なプロジェクトへの参加です。実際にデータを収集・前処理・可視化・分析・モデリング・評価するプロセスを経験することで、データサイエンスの実践力を高めることができます。オープンソースのデータセットやコンペティションに参加することをおすすめします。また、それらの経験をZennQiitaなどのブログにアウトプットしていくことも効果的です。以下に、実践的なプロジェクトを体験できるサイトの一部を紹介します!

  • kaggle
    • 世界最大級の英語コンペティション
    • titanic
      • 有名な分類タスクのチュートリアル
    • house-prices
      • 有名な回帰タスクのチュートリアル
  • atmaCup
    • ほとんどが日本人参加者で開催される短期コンペティション

他にも自身でモデルを実装したり、アプリ開発をしたりすることも一つの方法です。自分自身が興味あることや分析したいことを追求していくことがこの先の道のりだと思います!

補足

上記以外にもデータサイエンスを学ぶ上で必要となるスキルがあるため、簡潔に紹介していきます!

資格

現在は、データサイエンティストになるために特別な資格は必要ありません。しかし、スキルアップやスキルの証明のためにいくつかの資格を取得することをおすすめします!

データサイエンスに関する知見

データサイエンスに関する理解を更に深めるための講座や、参考書についてもいくつか紹介します!

最後に

以上、筆者がおすすめするデータサイエンス入門ルートでした。もちろん、他にも優れた教材はたくさんありますので、自分に合ったものを探してみてください。データサイエンスは広く深い分野ですが、一歩ずつ学んでいけば必ず成長できると思います。一緒に頑張りましょう!