GitHubが先月発表した最も使われているプログラミング言語が、JavaScriptからPythonに入れ替わりました!
生成AIブームがその引き金になったと言われています。
これはデータサイエンティストとして喜ばしいことですね。(実際にはJavaScriptからTypeScriptへの移行がおこなわれているのも要因の一つでしょうが。)
このまま1位を保っていきたいですね。
さて、今回、QiitaのR言語アドベントカレンダーに参加することになりました。(Rコミュニティは狭く深いので、こういうイベントには定期的に参加したいです🔥)
何を書こうかと悩みましたが、そういえば今年、
データサイエンスのロードマップを完走したので、そのフィールドやツールなどを言語ベースで語ってみる
ことにしました。
ちなみに、完走したロードマップがこちらです:
統計学入門から始まり、MLOpsまでデータサイエンスのある程度をカバーできるロードマップになっています。(ここにビジネス力・問題解決力などが含まれればもっといいロードマップになりそうです。)
ちなみに、最後の項目の修了証がこちらです:
さて、このようにしてデータサイエンスのロードマップを完走したわけですが、この経験と数年の実務経験を踏まえて、
個人的にデータサイエンスのフィールドやツールなどを言語ベースで語ってみようと思います。
データサイエンスの大まかな仕事内容と、それに関するツールを自分的に図解したものがこちらです:
世界的に有名なデータサイエンス講師のNoah Giftさんの図を少し調整しています。
データのクオリティとビジネスか機械学習寄りかの2軸で表しています。
ビジネス領域に今回の主役のRが分布しています。
データ分析の始めのステップ、「データの概要を掴む(EDA)」にとても最適な言語です。
レガシーな統計分析、因果推論、効果測定なども小回りのきくRが使いやすいです。
実務での報告や発表はRStudioのRmdリポートのまましていた時もありましたが、
パワーポイントやGoogleスライドなどビジネス寄りの人たちの好む/使えるツールでプレゼンすることも大事です。
簡単な可視化はcsvデータを挿入し、パワポ内でグラフなどを作ってあげると、データも一緒に配れるので便利です。
ダッシュボードはリアルタイム性が重要になってくるのでシステムにそのままインプリできるPythonが使いやすいです。
ちなみにShinyとは、綺麗なインタラクティブWebアプリケーションが作れる元R言語のライブラリです。ちょっと前にPythonもサポートし始めているので、試してみるとダッシュボードの質がもっとよくなるかもしれません。
Tableau, Power BI、そしてGoogle Analyticsはこの辺りだと定番ですね。
R&D分野はPython一択でしょう。豊富なライブラリと巨大なコミュニティが後押ししてくれます。
さて、いよいよAI/ML領域になってきます。
今年Pythonが急激に人気になった要因です。
こちらもTensorflowをはじめ豊富なライブラリと巨大なコミュニティがPythonを後押ししてくれます。
ただ、それだけではつまらないので、Rustの紹介をします。
現在MLOpsやDevOps界隈ではRustがメキメキと力をつけて来ています。
先ほど名前が出たNoah Giftさんが教えるMLOpsの授業でも、PythonよりRustが強く推薦されていました。
Rustとは高速でメモリ効率が高く、安全性を重視したシステムプログラミング言語で、その可読性にも長けています。
現に冒頭で紹介したGitHubの記事でもRustが特に伸びて来ているという記載もありました。
クラウドリソースを使ってMLOpsを実現する際はRustを使うと、素早く安全にデータ処理が実現できます。
まだ使った事のないデータサイエンティストの方は機会があったら使ってみてもいいかもしれません!