はじめに
みなさん、こんにちは!
データサイエンスを勉強し始めてから約半年のインターン生です。
皆さんはどのようにしてデータサイエンスの勉強をはじめましたか?
データサイエンスの勉強をはじめたとき、
データサイエンスを勉強したいけど何からはじめればいいのか分からない...
という悩みを抱えていました。
そこで、本記事ではデータサイエンス入門ルートを紹介したいと思います。これから勉強をはじめようとしている方の参考となれば幸いです!
そもそもデータサイエンスって何??
データサイエンスを学びたいけど、
そもそもデータサイエンスって何?
と思う方は、少なくないと思います。ざっくりいうと、データサイエンスとは、ビジネスにとって有益な知見を抽出するためのデータの研究のことを指します。
データサイエンスとは、明確な定義があるというよりかは、多くの研究分野の集合体として成り立っているといえます。例えば、数学や統計学、人工知能、コンピュータエンジニアリングなどの分野を横断的に扱いながら、原則と実践を組み合わせて、大量のデータを分析する能力が求められたりします。
データサイエンス入門ルート
データサイエンスの対象となる研究分野は広範囲に及びます。そのため、これまでの個々人の学習状況によって、学習の進め方が異なることがしばしばあります。
今回の記事では、高校レベルの数学を習得済みで、プログラミングにあまり慣れていない大学生のレベルを想定した入門ルートを作成しました。ご自身の学習状況に合わせて、適宜読み飛ばしながら参考にしてもらえればと思います!
1.データサイエンスの基礎知識
データサイエンスを学ぶにあたり、データサイエンスの歴史・目的・応用例・主要な概念・用語などを理解することは大切です。AWSによるデータサイエンスの説明では、データサイエンスにまつわる歴史・未来・用途・課題・プロセスなど、事細かに説明されているため、データサイエンスについての理解を深めることができます。
また、近年トレンドとなっている人工知能の概要や歴史的背景を学ぶと、機械学習や深層学習について知見を得られ、学習のモチベーションにつながると思います。人工知能は人間を超えるかでは、人工知能について、初学者にとって非常にわかりやすいように執筆されているため、非常におすすめです!
2.プログラミング
次に、データサイエンスに必要不可欠なプログラミングスキルについて紹介します。データサイエンスでは、PythonやRなどのプログラミング言語がよく使用されます。初学者であれば、Pythonから始めることをおすすめします。特にPythonの多次元ベクトルの計算処理ライブラリであるnumpyやデータフレームライブラリであるpandasなどは、今後の学習で必須となるスキルです。
実際にコードを書く際は、Jupyter NotebookやGoogle Colaboratoryなどのツールを利用することになると思います。初めてツールを利用する際は、自身の使用しているOSに注意しながら、環境を整えましょう。Google Colaboratoryは環境開発を必要とせず、GCPを無料で使用できる(制限あり)ことから、非常におすすめです!
Pythonを学ぶ方法はいくつかありますが、現在インターネット上には無料教材・講座が充実しているため、その中から独学できる教材をいくつか紹介します!
- ゼロからPython入門講座
- Python公式の教材
- Python早見帳
- 東京工業大学情報理工学院の岡崎直観教授が作成した機械学習の講義ノート
- Pythonプログラミング入門
- 東京大学 数理・情報教育研究センターが公開している教材
- Google Colab, Azure Notebooks移植版:データサイエンス100本ノック(構造化データ加工編)
- 構造化データの加工に重点を置いた、さまざまな分野のスキルセットを身につけるための実践的なトレーニング教材
また、教材ではありませんが、Pythonのコードを書く際に注意しておくべきコーディング規約についても紹介します!
3.数学
データサイエンスでは、線形代数や微積分、確率や統計などの分野に対する理解が必要となります。データの性質やパターンを理解したり、データから仮説を検証したりする方法を身につけることが必要です。これらの分野は大学の講義や参考書を用いて学習することで、力を身につけることができます。
これらの分野に対する理解を深めることで、機械学習や深層学習の理解に繋がります。また、統計学に関しては無料公開されているサイトも存在するということで、いくつか紹介しておきます!
- 統計WEB
- 統計検定2級の内容を網羅的に学ぶことができるサイト
- データ分析のための統計学入門 原著第4版
- アメリカのデータサイエンティスト3名が執筆した『データ分析のための統計学入門 原著第4版』の日本語版PDFファイル
また、統計学や数学の知識・スキルがどのように機械学習と紐付いていくのかを、わかりやすく図式化して説明している記事があるので、そちらを参考にすると良いかもしれません。
4.機械学習・深層学習
次に、機械学習や深層学習について学んでいきます。教師あり学習・教師なし学習・強化学習などをはじめ、回帰・分類・クラスタリングなどの手法や、ニューラルネットワーク・深層学習などのモデル、アルゴリズムを学び、データから予測して価値ある情報を生成する方法を習得する事ができます。インターネット上から、教材の閲覧や講座への参加をすることができるので、その一部を紹介します!
- 機械学習帳
- 東京工業大学情報理工学院の岡崎直観教授が作成した機械学習の講義ノート
- Deep Leaning基礎講座
- 松尾研究室が2015年から毎年4月〜開講している講義
- Tensorflowチュートリアル
- Tensorflow公式の教材
- tensorflow : Googleが開発したオープンソースの機械学習ライブラリ
- pytorchチュートリアル(日本語翻訳版)
- pytorchチュートリアルの日本語翻訳版
- pytorch : Facebookが開発を主導したPython向けの機械学習ライブラリ
上記のような無料の教材や講義に合わせながら、機械学習や深層学習の定番本を活用していくことで、さらに知識を身につけることができます。
深層学習についての理解が深まったら、画像処理・自然言語処理などの非構造データの処理や、時系列解析・因果推論・実証分析・計量経済学・多変量解析などの統計モデリングなど、自身の興味ある分野を実装するだけの力が身についていることでしょう。
5.実践的なプロジェクト
最後は、実践的なプロジェクトへの参加です。実際にデータを収集・前処理・可視化・分析・モデリング・評価するプロセスを経験することで、データサイエンスの実践力を高めることができます。オープンソースのデータセットやコンペティションに参加することをおすすめします。また、それらの経験をZennやQiitaなどのブログにアウトプットしていくことも効果的です。以下に、実践的なプロジェクトを体験できるサイトの一部を紹介します!
- kaggle
- 世界最大級の英語コンペティション
- titanic
- 有名な分類タスクのチュートリアル
- house-prices
- 有名な回帰タスクのチュートリアル
- atmaCup
- ほとんどが日本人参加者で開催される短期コンペティション
他にも自身でモデルを実装したり、アプリ開発をしたりすることも一つの方法です。自分自身が興味あることや分析したいことを追求していくことがこの先の道のりだと思います!
補足
上記以外にもデータサイエンスを学ぶ上で必要となるスキルがあるため、簡潔に紹介していきます!
資格
現在は、データサイエンティストになるために特別な資格は必要ありません。しかし、スキルアップやスキルの証明のためにいくつかの資格を取得することをおすすめします!
- 統計検定
- 統計学の基礎知識や応用能力を測る検定試験
- 当ブログ内で実際に受験した記事
- 基本情報技術者試験
- ITに関する基礎知識を測る国家試験
- 応用情報技術者試験
- ITに関する応用知識を測る国家試験
- 当ブログ内で実際に受験した記事
- AWS認定資格
- Amazon Web Services(AWS)のクラウドサービスに関する知識やスキルを測る認定試験
- データサイエンティスト検定
- データサイエンス能力を測る検定試験
- 当ブログ内で実際に受験した記事
- G検定
- 人工知能(AI)に関する基礎知識や応用能力を測る検定試験
データサイエンスに関する知見
データサイエンスに関する理解を更に深めるための講座や、参考書についてもいくつか紹介します!
最後に
以上、筆者がおすすめするデータサイエンス入門ルートでした。もちろん、他にも優れた教材はたくさんありますので、自分に合ったものを探してみてください。データサイエンスは広く深い分野ですが、一歩ずつ学んでいけば必ず成長できると思います。一緒に頑張りましょう!