【エンジニアリング編】未経験からデータサイエンティストになる方法
以前、未経験からデータサイエンティストになる方法の記事を作成しました。
そちらの記事には、データを使って仕事を始めてみましょう!と言う
本当にデータサイエンティストの駆け出しレベルを紹介させていただきました。
今回は、駆け出しから少しレベルアップした内容になります。
データサイエンティストには、具体的にどのようなスキルが求められ、
それらを習得するための方法をご紹介します。
データサイエンティストに求められるスキル
前回の記事でもご紹介しましたが、
データサイエンティストには3つのスキルが求められます。
こちらの図で示している通り、
この3つが求められます。
大きく3つのスキルが求められるとは言え、
抽象的な内容になりますので、各スキルに関して具体的にご紹介します。
エンジニアリング編
エンジニアリングと言っても、非常に様々なスキルがあります。
本当にエンジニアとしてお仕事をされている人ほどの知識は必要無いと思いますが、
私が過去に経験して最低限必要となるスキルをご紹介します。
この3つ以外にもエンジニアのスキルは沢山あります。
しかしながら、私の過去の経験から、この3つがあれば
まず案件を進めることは可能だと思います。
プログラミング
データサイエンティストであれば、大量のデータの処理や機械学習を利用します。
その際に、必須となるのがプログラミング言語です。
必要となる代表的なプログラミング言語は、
この3つではないでしょうか。
SQL
SQLはデータベースからデータを取得する際に利用します。
PythonやRほど複雑な処理を行わない分、習得する壁は比較的低いと思います。
ただ、SQLが使えないと大量のデータを扱えないため、
上記のプログラミング言語の中でも必須のスキルと言えます。
SQLについて分かりやすく解説された参考書は沢山ありますが、
私は、こちらの本をおすすめしております。
スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ)
- 作者: 中山清喬,飯田理恵子,株式会社フレアリンク
- 出版社/メーカー: インプレス
- 発売日: 2018/11/30
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
こちらの本の特徴は、ドリル形式で学習した内容を確認できます。
また、学習用の無料サイトが用意されているので、
SQLを使える環境を用意しなくても、すでに用意された環境で練習できるのです。
Python, R
PythonとRは、機械学習や統計学の手法を利用する際、
または、データの前処理を行う際に、利用します。
先程ご紹介したSQLよりも柔軟性は高いがゆえに、SQLよりは習得が難しいです。
そして、PythonとRどちらを使うべきなのか?
という問題がございます。
正直、どちらでも構いません。
自分が使いたいと思う方を使いましょう。
ただ、私が敷いてオススメするのはPythonです。
理由としては、
データ分析プロジェクトでは、GoogleのAPIといった
外部のサービスから情報を取得するケースがあります。
その際に、公式のリファレンスを見ると、
Pythonでの接続方法は掲載されておりますが、
Rので接続方法は掲載されていないケースが多くあります。
(※Rで接続できないわけではありません)
公式で書かれている情報を参照できる方が、情報の正確性や最新性は確かです。
非公式の情報を参照する際には、その情報が正しいのか?古い場合は自分で修正する必要があります。
そういったケースを想定すると、Pythonの方が作業を進めやすいと思います。
また、最近データサイエンティスト界隈では、
R使いよりもPython使いの方が増えている印象があります。
どういった処理をするのか、便利なライブラリは存在するのかなど、
相談する方は多いほうが何かと助かりますよね。
それに加え、Python入門書として、非常にオススメの書籍があります。
- 作者: 柴田淳
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/12/22
- メディア: 単行本
- この商品を含むブログ (2件) を見る
このように入門者にとって分かりやすい書籍だけでなく、
中級者に向けた書籍もPythonは充実していると思います。
- 作者: Mark Summerfield,斎藤康毅
- 出版社/メーカー: オライリージャパン
- 発売日: 2015/12/01
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
以上の点から、私はRよりもPythonをおすすめしたいと思います。
データベース
データベースと言っても、データサイエンティストがゼロから構築したり、
設計するケースは少ないでしょう。
すでにデータが格納されたデータベースを操作して、
データを取得、分析用にテーブルを作成する事が主な作業になります。
そのため、データサイエンティストが必要となる知識レベルとしては、
- MySQLやPostgreSQLなど、どういった種類のデータベースが存在するのか
- 文字列やタイムスタンプ型のデータなど、データの型を理解する
最低限のレベルとしては、この程度かと考えております。
知識として詳しいことの方が、優秀なデータサイエンティストとして評価されます。
一方で、データサイエンティストには様々なスキルが求められるので、
データベースだけ詳しくても、優秀とは言えません。
そういう意味でも、データベースのみならず様々な知識を身に着けておきましょう。
AWSやGCPといったクラウドサービス
- 分析用にサーバーを利用する
- データをクラウドストレージ上に保管する
こういったケースは、非常に沢山あります。
その際に利用するのは、AWSやGCPといったクラウドサービスです。
アマゾンが提供しているAWS、Googleが提供しているGCPなど、
提供している会社によって料金やサービス内容に若干の差異はありますが、
サービスのラインナップは、概ね同じです。
各社サービスの差異を理解するよりも重要なことは、
このようなクラウドサービスを使いこなすことです。
分析プロジェクトを進めていると、「作成したアルゴリズムを日次で処理したい。」といった要望が発生します。 そういった際に、人間が手動で処理を開始するのではなくて、 バッチ処理用のサーバーを構築する必要があります。
他の例では、非常に大規模なデータを分析するには、
自分が利用しているPCではスペックが不足してしまいます。
その際には、クラウド上に大規模処理に向いているサーバーを構築し、
そちらで大量のデータを処理させるようにします。
処理が完了した大量のデータをクラウドストレージ上に保存します。
クラウドサービスの練習
AWSやGCPは、個人でも利用する方がいるくらい非常に安価です。
まだ使ったことが無い方は、練習として自分でサーバーを構築することをオススメします。
クリックだけで簡単に構築することもできますし、
各サービスに関して解説された書籍もあるので、
一度勉強として利用される方が良いと思います。
Amazon Web Services実践入門 (WEB+DB PRESS plus)
- 作者: 舘岡守,今井智明,永淵恭子,間瀬哲也,三浦悟,柳瀬任章
- 出版社/メーカー: 技術評論社
- 発売日: 2015/11/10
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
最後に
今回は、未経験からデータサイエンティストになる方法として、
エンジニアリング編を記載させていただきました。
本当の意味で、エンジニアの知識は今回記載した内容以外にも沢山ありますが、
それらすべてを網羅して理解している必要はありません。
ただ、プロジェクトを進める中でエンジニアの方に依頼するケースもあります。
そういった際には、エンジニアリングに関して詳しい方が依頼がしやすくなります。
こちらに記載の内容は、データサイエンティストとして最低限抑えていただきたい内容になります。