ど~も!データサイエンティストのえいせいです。
将来データサイエンティストになりたい学生の方や、データサイエンティスト職に転職したい社会人のかた!
そんな方がまず悩むのが何を勉強したら良いの?ってことでしょう!
専門性の高いデータサイエンティストは必要な知識や高いスキルが求められるのは事実です。
今回はそんな悩みに答えるべく、データサイエンティストを目指すために必要な勉強方法をマルっと紹介します。
データサイエンティストとは?その役割と求められるスキル
まず、勉強方法の話に行く前に、そもそもデータサイエンティストとは何なのか?どのようなスキルが必要なのかを見ていきましょう。
データサイエンティストとは?
データサイエンティストは、企業や組織が蓄積する膨大なデータを解析し、価値あるインサイトを引き出す専門家です。
データサイエンティストの役割は、多岐にわたるデータの分析を通じてビジネスの意思決定を支援し、ビジネス成果を残す事です。
大事なのは利益になることです。
データサイエンティストの役割
データサイエンティストは、データの収集、クレンジング、解析、そして視覚化を行います。
まず、様々なソースからデータを収集し、解析可能な形に整える作業が必要です。この過程では、不完全なデータの補完やエラーの除去が求められます。
次に、統計的手法や機械学習アルゴリズムを駆使してデータを解析し、パターンやトレンドを発見します。最終的に、解析結果を視覚化し、関係者にわかりやすく伝えることが重要です。
データサイエンティストに必要なスキル
データサイエンティストに必要なスキルとして、以下のものがあります。
- プログラミングスキル
- 統計学の知識
- データ分析スキル
- ビジネスに関する知識
- コミュニケーションスキル
データサイエンティストには、技術的スキルとビジネス理解の両方が求められます。
まず、データ処理や解析、はたまた分析結果を視覚化するためのプログラミングスキル(例:Python、R)は必須です。さらに、価値あるデータ分析をするためにも、統計学や機械学習の知識も不可欠で、特にデータモデリングやアルゴリズムの理解が求められます。
またビジネスに関する知識も非常に重要です。
金融の事が分からないのに、金融の分析をしてくれと言っても出来るわけがないですからね!
そしてデータサイエンティストは分析して終わりというイメージがあるかもしれませんが、それで終わりではありません。
分析結果を意思決定に役立てるためにも、専門的な分析結果を分かりやすく相手に伝えるコミュニケーション能力が必要です。
どんなに良い分析が出来たとしても、周りに理解されなければまったく意味をなさないのです。
データサイエンティストになるのに独学で大丈夫?
結論から言ってしまうと独学でもまったく問題ありません。
むしろ独学でガンガン勉強していくような人でないとデータサイエンティストは難しいと思います。
確かに、何もわからないうちはスクールに行ったり、オンラインでもコーチがいた方が理解度は上がるでしょう。
しかし、そのために何十万も払うメリットがあるのかというと疑問です。
今では書籍はもちろんUdemyやそれこそyoutubeなどで、動画ベースでも十分に独学が出来る環境が揃っています。
それらを活用すれば独学でもまったく問題ありませんし、私の周りでも独学で勉強してきたという人の方が圧倒的に多いです。
勉強する順番

データサイエンティストに必要な知識が分かったところで、続いてどのような順番で勉強するかです。
私が推奨する順番としては以下を推奨します。
- python基礎
- 統計学
- 統計学をpythonで実装
- 微分積分・線形代数
- 機械学習
- ビジネス知識
- SQL
- git/docker
必ずこの順番でないといけないわけではありませんが、まずpythonの基礎から学ぶのがオススメです。
最初から統計学を学んでも良いのですが、いきなり数式が出てきて挫折するという方も一定数いるので、まずはpythonを学びつつ、楽しさを覚えていくのが良いと思います。
そして次に学んで欲しいのが統計学です。
いきなり機械学習に行きたい気持ちも分かるのですが、機械学習においても統計学が基礎となる部分ですので、絶対に疎かにしてはいけません。
pythonの基礎
pythonは出来ることが非常に幅広く、全てを覚えるのは無理ですw
まずはデータ分析に必要な部分の基礎を学ぶことから始めていきましょう!
- pythonの基本構文
- リストやタプル
- if文
- for文
- 関数の基礎
- class
- pandas
- numpy
- matplotlib
- seaborn
まずはpythonの基本構文を学び、コードの書き方に慣れましょう!
pythonは比較的少ないコード量で書くことができるので覚えやすいと思います。
そして、基本が分かったらpandasやnumpyなど、データ分析に必須となってくるライブラリについて学んでいきましょう。
統計学
統計学はデータ分析の基礎となる部分ですので、しっかりと覚えていきましょう!
実際の現場でもいるのですが、統計学を疎かにしてしまっている人も多いです。
正直、統計学が分かっていなくても、pythonの知識があればある程度の機械学習モデルの構築は出来ます!
しかし、精度の向上を目指したり、予測結果を理解するためにも統計学を学ぶことは必須です。
必ず頭打ちとなります。そうならないためにもなるべく早い段階で統計学を勉強しておきましょう!
ではどの位勉強したらよいのか?ですが、理想としては統計検定2級レベルは欲しいと思います。2級あれば、各種統計量がどんな意味なのか?を理解する事ができますし、統計量を求めるための数式を読み解くことが出来ると思います。
ただ、2級は取れなくても大丈夫です。
2級の内容が理解できていれば問題ありません。
2級を取るためには各種数式を覚えないといけませんが、正直そこまでする必要はありませんので、最低限2級の内容が理解でき、統計の考え方が分かればOKです!
統計学をpythonで実装
python・統計学と学んできたので、それらをマージして実装しましょう!
まずはscipyなどを使って、比率差の検定や区間推定などに挑戦し、統計学で学んだ事がサクッとpythonで実装出来るようにしましょう!
微分積分・線形代数
数学が続きますが、微分積分・線形代数の最低限の知識も重要です。
この後出てくる機械学習を学ぶ上でこれらが基礎となりますので、より深く学ぶためにも高校・大学1~2年の知識はおさらいしましょう!
文系で習っていないという人は、学生が使う参考書などで良いので勉強してみましょう!
これも深くやる必要はなく、理解できればOKです。
機械学習
データ分析の楽しいところですね!
回帰や分類などの基礎の部分はもちろん、データの前処理や特長量エンジニアリングなど泥臭いところもしっかりと覚えていきましょう。
ある程度学んだら、kagglやnishikaなどの各種コンペ挑戦して、実際に分析に触れるのが一番だと思います!
機会学習の基礎が分かってきたら、その後深層学習、強化学習などの分野に挑戦していって欲しいですね!
ビジネス知識
上記までで、機会学習を使ったデータ分析の基礎が出来ます。
概ね想像通りだったという人も多いでしょう!
そして最後に絶対に学んでおきたい事としては携わる業界のビジネス知識です。
正直データサイエンティストといっても携わる業種や求められる分析によって、やる事が大きく変わってきます。
一例ですが、下記のように何を分析するかによっても必要な知識が違います。
- 需要予測
- 画像分析
- 音の分析
- テキストマイニング
また、データサイエンティストは幅広い業種に在籍しています。
- 金融
- 小売り
- 医療
- webマーケティング
その領域のビジネス課題は何なのか?業界の動向はどうなっているのか?
そういった深いビジネス知識をもっていないと、効果的な分析結果を求める事は出来ないでしょう!
sql
SQLは、データベースを操作するための言語です。 データベースにデータを格納したり、抽出したり、更新したり、削除したりするために使用されます。
そもそもデータはデータベースに入っている事が一般的ですので、そこから分析に必要なデータを取り出すためにもsqlの知識は必要になってきます。
pythonほど時間を掛けて学ぶ必要はありません。
自分の意図するデータを取得出来るようになればOKです。
git/docker
あまり進めている人はいませんが、gitとdockerもデータサイエンティストになる上で重要です。
それぞれの役割としては、以下の通りです。
- git:ファイルを変更履歴を共有できる
- docker:コンテナと呼ばれる仮想環境を作成・管理できる
データサイエンティストは1人だけという環境は少ないでしょう。
複数名でチームを組むことが一般的です。
そうなると、様々なコードを共有することになるのですが、各々が勝手に修正したり書き加えたりすると、ファイルの管理が大変になりますし人に迷惑をかけるかもしれません。
それをマルっと管理してくれるのがgitです。
各々がブランチを切って、そのブランチで作業。
それをmasterにマージする前にチーム内でレビューしてもらったりと、レビューを含め一括で管理できるので、非常に重要です。
また、dockerを使うことで仮想環境を作る事ができます。
これの何が嬉しいのかと言うと、簡単にチームメンバーが同じ作業環境を構築できる点です。
一人一人作業環境が違ったり、使っているツールのversionが違ったりすると、分析の再現が出来ないといったことになる事も多いです。
それを回避するためにも、dockerを使います。チームメンバーが同じ作業環境で分析する事が大事です。
まとめ
今回はデータサイエンティストを目指すための勉強方法を解説しました。
学ぶ事は多いですが、どれも学ぶためのコンテンツは非常に多いです。
本でも動画でも良いので、自分のスタイルにあった勉強方法で学んでいきましょう!