データサイエンティストに必要な言語と用途の違い

 

データサイエンティストに必要なプログラミング言語って何かな?どんな違いがあるんだろう?こんな疑問にデータサイエンティストと働く僕が解説します。

 

データサイエンティストは、三種の神器と呼ばれる

プログラミングスキル
ビジネス理解
統計や数学知識

が必要と言われるけど、まずはプログラミング言語として、SQLは当たり前にRやPythonか、統計や数学かなと。 ビジネス理解はやりながらが実践的で効率的。あとはタブローもあったりする。

 

結論、実装や開発まで含めるとPython、データの分析としてのビジュアルだけならR、データの下処理ならSQL、という感じが多い印象ですね。どういうシーンではどっちのプログラミング言語が登場シーンが多いかも合わせて解説します。

 

データサイエンティストに必要なプログラミング言語

 

データサイエンティストに必要なプログラミング言語は、業務フローで考えると分かりやすいです。つまりデータの下処理、統計解析、実装、モニタリングですね。

 

SQL

1つ目は、SQLですね。たいていは、MySQLで事足りつかなと思います。登場するシーンは、業務フローにおけるデータの下処理ですね。

 

データはローデータと加工後データに分かれますが、データサイエンティストは複雑な統計解析などを行うため、必ずしもDBにあるローデータのまま分析できるわけではないんですよね。

 

特にテキストデータのような儀構造データだと顕著です。そのため、そういったローデータを分析しやすいように、SQLで加工したりします。
SQL単体でも簡単な分析はできるので、ほぼどのデータサイエンティストはSQLは習得してますね。

 

R

2つ目は、Rですね。Rは統計解析専用のプログラミング言語で、データサイエンティストやデータアナリストくらいしか習得しない言語です。大学院生など研究で使ったりもしますね。

 

登場シーン的には、何かデータを使って現状を可視化したり、判断したりなどビジュアル化に長けている言語なので、そういったシーンで多く使われます。

 

ただレコメンドや機械学習など何か実装や開発を含むような業務とは親和性は高くはないため、あくまで判断やビジュアル化として都度都度使うことが多い言語です。
いろいろな分析ができるので、割と重宝できると思います。

 

Python

3つ目は、Pythonですね。Pythonは、レコメンドのアルゴリズムなどの実装が出来るので、開発フェーズまでやりたいデータサイエンティストは必須な言語ですね。

 

どちらかというと機械学習エンジニア的な仕事も混ざってくる部分です。あとは、Rと同じようにデータのビジュアル化もできるので、全般的に役立つ言語という認識でOKだと思います。

 

数学的な知識もPythonの習得には必要なので、難易度は高いですが習得して損はしない言語です。今後、PythonはAIや機械学習が普及するにつれ需要も高まると思われます。

 

Tableau

最後は、Tableuです。Tableuはちょっとプログラミング言語とは違う意味合いで登場します。ただ個別のカスタマイズで簡単なプログラミングも必要なので、ここに含めてますね。

 

用途的には、データのビジュアル化とかモニタリングでよく使われます。この辺は実はデータサイエンティストが社内で重宝されやすいスキルかなと思ってます。

 

理由として、営業だったり事業開発系の人など、データサイエンスをあまり知らない人のニーズが高いので、こういう部分で価値をだしたほうが社内的には認められやすいんですよね。

 

参考:データサイエンティストの将来性【市場価値高いが課題もある】

 

データサイエンティストは言語だけでも活躍できない

 

とはいえ、データサイエンティストはプログラミング言語だけ身に着けても活躍できないんですよね。それがデータサイエンティストの市場価値の高さの秘密だったりもします。

 

ロジカルシンキング

データサイエンティストとして活躍したいなら、プログラミング言語以外にロジカルシンキングも必要です。理由として、プログラミング言語だけ出来る場合だと、

 

データアナリストというか分析屋さんになっちゃって、主体的なデータ活用によるビジネス提案ができないんですよね。(別にデータアナリストをdisっているわけではない)

 

どんなビジネス課題をデータサイエンスで解決すべきか?から提案できるとより市場価値が高いです。市場価値は基本的に請負型ではない主体的提案ができる人材が好まれますよ。

 

ビジネスセンス

あとはビジネスセンスも必要ですね。というのは、データサイエンティストはどんなKPIを設定してデータ分析するかとか、どんな課題感の解決を優先するのかっていうのが自由度が高い
(何でもできる)ため、プログラミング言語以外にある程度ビジネスセンスも欲しいところです。

 

大きい企業でさえビジネスセンスもあるデータサイエンティストは人材不足なので、ビジネス課題設定などは別のビジネス職の人が設定するなど分業したりしています。

 

この辺は座学とかよりも実務経験を積む中でスキルを伸ばす方が圧倒的に良いですし、そうすべきなのでまずはプログラミング言語と統計知識を優先するがいいかなと思います。

 

参考:データサイエンティストに必要なスキル【事業会社目線で解説】

 

データサイエンティストに必要なプログラミング言語を学ぶなら

 

データサイエンティストとして活躍するならプログラミング言語以外も必要ですが最優先はプログラミング言語の習得です。特に若手は最初は言語習得優先でOKです。ただそれだけでは基本なれないです..。

 

ベストは大学でプログラミング言語以外も学ぶ、がいいです

結論は、これから大学に入る人とか大学生であれば、ベストは大学でデータサイエンスに役立つプログラミング言語も学びつつ、研究してロジカルシンキングなど言語以外のスキルも身に着けるのがいいですね。

 

肌感ですが大体のデータサイエンティストは大学から、データサイエンスに直結する研究をしているケースが多いですし、社会人になってからも大学院で学び続けるデータサイエンティストも多いです。

 

これなんでかっていうと現実のビジネス課題を解決する流れと研究が似ているからなんですよね。基本的にビジネス課題は正解がないので、研究のように新規性で学術貢献する姿勢って好かれますよ。

 

言語だけなら独学でもスクールでもいいです

とはいえもう大学卒業しているしいまさら入りなおしたくない人がほとんどだと思います。そういう場合はデータサイエンティストに必要なスキルをどこまで身に着けたいか次第ですね。

 

プログラミング言語だけなら

プログラミング言語だけなら、独学でもいいですし、プログラミングスクールを使ってもいいと思います。ここは予算と求めるサービス品質次第です。

 

忙しい場合はテックアカデミーのようなオンラインスクールがおすすめで、データサイエンスに役立つプログラミング言語を対面スクールよりかは安めで学べますね。

 

ただ期待値的に、データサイエンティストとして働くには正直データサイエンス系のプログラミングスキルだけでは足りなくて(年齢にもよるけど)、統計知識なども合わせて習得した方が確度は高いでしょう。

 

プログラミング言語以外も学びたい場合

データサイエンティストになるうえで、プログラミング言語以外も身に着けたい場合は、データミックスなどデータサイエンス専門のスクールを使うのが現実的ですね。

 

それ以外だと独学か大学いくくらいしかないので、社会人だと現実的かなと思います。データミックスでは、データサイエンスに役立つプログラミング言語はもちろんのこと、統計も学べますし、
何よりも実際にあるビジネス課題をデータサイエンスで解決する実践演習もあります。

 

そのため、プログラミング言語以外にデータサイエンティストに必要なスキルを網羅的に学習できます。大学に通えないけど、
データサイエンティストに必要なスキルをプログラミング言語以外も習得しないならぜひ。

 

まとめ

 

ということでデータサイエンティストに必要なプログラミング言語とその違い、また言語以外も市場価値を高めていくうえでは必要ですよ、というお話でした。

 

参考:フリーランスのデータサイエンティストは単価がバグってます

最新情報をチェックしよう!