データサイエンティストを気取る
2019年現在、データサイエンティストを気取りたくてしょうがない人が世の中には大勢いるはずです。しかし気取りたい人ほど、気取り方がわからないもの。泥臭いデータサイエンティストの側面は完全に除外して、どうやったら気取ることができるのか考えました。
出た結論は明日からでもすぐに実践できます。もしあなたがデータサイエンティストを気取りたくなったら、ぜひトライしてください。
1.Apple一筋
気取ったデータサイエンティストとしては洗練されたプロダクトは必須。 いつでもスタバでドヤ顔ができるようにMacBookを持ち歩こう。 プロ感が出るから、できればProだ。Proを持ち歩こう。2.エディタはVSCODE
MacBookを開いたら、そこに表示されているのはVSCODEだ。
VSCODEのどこがいいんですか?と聞かれたらこう答えよう。
「んー、まず軽さ、そして豊富なエクステンション、一番の魅力はリモートデバッグかな。」
いつの時代もエディタには軽さが求められる。そしてエクステンションやリモートデバッグというオシャレな響きに同僚や友人は感動するに違いない。
3.Pythonを愛する
データサイエンティストとして気取るのならPythonを愛するのが近道だ。 VSCODEの拡張機能のPythonはもちろんのこと、無駄にPyCharmもインストールしておこう。Pythonを愛していることの現れだ。そして決してRを否定しないこと。Rを自分では全然理解していないのに、RはRで良いところがあるよね、と知っている感を出そう。4.呼吸するように可視化する
データサイエンティストの見せ場の一つ、可視化だ。
データが手に入ったら、何はなくとも速攻で可視化しよう。
さらにMatPlotLibでグラフを書いている同僚に、「いまならPlotlyで可視化するのもオススメ。やっぱりインタラクティブにデータを見られるのがなによりも便利だよ。」と言おう。
5.Pythonの記法にこだわる
せっかくPythonを使うのだから、Pythonicなプログラミングを心がけよう。リスト内包表記をはじめ、最新アップデートで対応が入ったセイウチ演算子まで使ったりして、関数型のように見せかけたおしゃれなコードを書こう。6.C/C++を忘れない
Pythonばかり愛していると、コアな人に速度の面でいじめられたりする。そこでたまに自分から「やっぱ最後はCで書く必要があるかもね。」とアピールしておこう。データサイエンスから、プロダクトリリースまで知見があることに周りの人は憧れを抱くようになる。7.Cloudと毎日1回は言う
クラウドを使わないなんて、データサイエンスとは言えない。と言わんばかりに、AWSやGCPの話題を持ち出そう。そしてスケーリングというキーワードを連発しよう。もっと言えば、S3,IAMなどの用語を出せれば更にベターだ。オンプレでもクラウドでも対応できるフィールドの広さを見せつけよう。
8.kaggleを知っている風を出す
データサイエンティストの憧れ、KaggleのGrandMaster。もちろん、常にkaggleもチェックしているよ、という雰囲気を出すべく「最近Kaggleのコンペでさ・・・」という話題を持ち出そう。 常に高みを目指す姿は憧れの的になるはずだ。この記事を書いた理由
この記事は、2019年末時点で、最も華やかな仕事の一つと言われるデータサイエンティストを"気取る"ための記事です。きっかけは、某超有名IT企業のカンファレンスに参加したときの周りの様子でした。だいたいみんな同じ様子でとても面白かったです。わりとふざけて書いてきましたが、ある程度は正しいことを書いているつもりです。それぞれ少し真面目に話して、役立つリンクや一言を記載しておきます。
1.appleを愛する
個人的にはWindowsでもいいと思っていますが、環境構築や、Linuxとの相性などの面で優れていると感じます。いろいろな人がMacをオススメしています。もちろんApple信者もいると思いますが。
開発をするのにWindowsとMacどっちがいいのか問題を考えてみる
データサイエンティストになるまでにやったこと
2.エディタはVSCODE
これは個人的にも1択だと思っています。いまやVSCODE以外でPythonを書こうとも思わないし、Markdownもそうです。いまこの記事を書いている下書きもVSCODEです。いま他のエディタを選ぶ理由を個人的にはあんまり感じないです。
初学者にとってなんだかんだVScodeは最強じゃね?って思う理由3選
VSCodeのオススメ拡張機能 24 選 (とTipsをいくつか)
3.Pythonを愛する
これもデータサイエンスをやるなら、今は外せないのかな、と。
あらゆる機械学習のフレームワークはPythonで提供されていますし、Cloudとの相性もとても高いです。
2019年にお勧めのプログラミング言語
また、Flaskなどを使えば、ちょっとしたWebアプリなんかも簡単に記述できて、いろいろな応用が効きやすいです。データサイエンスのように、トライアルアンドエラーを繰り返すような仕事では、ちょこっと試すスピード感が大事だと思うのでPythonは優秀だと思います。
4.呼吸するように可視化する
可視化はデータサイエンスをやるものにとっては最重要項目の一つだと思っています。上の方ではふざけて書きましたが、Matplotlibは当たり前として、今ならPlotlyとDashがかなりオススメです。
可視化を制するものは、データを制す、と言えるくらい人間が見てわかるようにデータを表示することが大事だと思っています。(個人的見解)
可視化ツールDashのチュートリアル - Part1: インストール~描画 -
Plotly Dashで簡単に可視化ができるWebアプリを作る
5.Pythonの記法にこだわる
この辺はちょっとマニアックですが、リスト内包表記やMap,Lambdaを使いこなすことで、短い、すっきりとしたコードでやりたいことを達成できます。かつ高速化に貢献することもできたりします。
可読性が低いということを言う方もいますが、ある程度は慣れだと思います。
The Hitchhicker's Guide to Python
Pythonを速くしたいときにやったこと
リスト内包表記の活用と悪用
リスト内包表記で始める超"実用的"なPythonワンライナー入門
6.C/C++を忘れない
結局新しいライブラリ作りたい、とか高度なことを考えたり、もっともっと高速に、というとC++が必要になったりします。ハードウェアに近い部分を書きたいならCが必要になるかもしれません。インタプリタ言語の限界はもちろんあるので、C++などの言語をもちろんバカにすることはできないということです。ここらへんは言わずもがな。
Why is python so slow?
Python, Java, C++の速度比較
7.Cloudと毎日1回は言う
今の時代にクラウドを使っていないなんて採用面接で言えないくらいメジャーなので、追いつく必要があるのは当然として。単純にデータサイエンスを始めたばっかりでも、ElasticSearchや、Tableauや、Jupyterの開発環境がさくっと使えたり、SageMakerのたくさんの機能が使えたりしたら、そりゃあ便利。なんちゃってデータサイエンスは1日で始められます。
Amazon SageMaker で Python データサイエンス入門その1
機械学習: データサイエンティスト
8.kaggleを知っている風を出す
kaggleのコンペに参加する必要は、必ずしもないと思っていますが、コンペでやり取りされている可視化の手法や、特徴量の作り方などは参考になる部分も多々ありますので、気になるコンペに目を通すのは悪いことじゃないと思います。
特に最近はkaggleのkernelも使いやすくなっているので、少しデータを触ってみる、というのも気軽にできます。
パワーアップしたKernelでKaggleに飛び込もう
おわりに
もう年末だからふざけた記事にしました。
少しでもクスッと思っていただければ幸いです。
おしまい。