第三世代データサイエンティストに必要なスキルセット(2/2)

第三世代データサイエンティストに必要なスキルセット(2/2)

1.第三世代データサイエンティストに必要なスキルセット(2/2)まとめ

・AIが必要と言われるケースで本当にAIが必要なケースは多くない
・本当に必要とされているものが何かを掴む質問力が重要
・社会人としてのスキルは技術的スキルと同じくらい大切

2.第三世代データサイエンティストとは?

以下、www.kdnuggets.comより「The Third Wave Data Scientist」の意訳です。元記事は2019年5月、Dominik Haitzさんによる投稿です。

Conwayのスキルセットの3分の1を占める特定業務に関する専門知識は、決して無視されているわけではありません

しかし、ほとんどどんな仕事であっても、あなたは仕事で業務知識を学ぶ必要があります。これには、その業界に関する知識だけでなく、会社の業務プロセス、命名規則、および特殊性も含まれます。

この知識はあなたの仕事のための枠組みを設定するだけでなく、あなたがデータを理解し解釈するのに不可欠であることが多いのです。

KISSの法則(Keep it Simple, Stupid)
(訳注:「変に複雑にしないでシンプルなままにしておけよ、馬鹿野郎」と訳される事が多いです。)

Mat Velloso(@matvelloso)
企業が「AI」が必要だと言っている大変のケースで本当に必要なのは、GROUP BYしたSELECT句です。

低い位置にぶら下がっている果物と迅速な勝利を探してください。既存のデータウェアハウスに対する単純なSQLクエリは、製品管理者や役員に知られていない貴重な洞察を生み出す可能性があります。

美しく単純な回帰モデルを作れば必要十分なケースで、「流行語駆動型データサイエンス(buzzword-driven data science)」を行って、不必要な最先端のディープラーニングに注力してしまう罠に陥らないでください。

単純なモデルの方が、構築、実装、保守にかかる作業がはるかに少なくなります。複雑で難しい事に精通していても、複雑にし過ぎないようにしてください。

2.ソフトウェアエンジニアリングの職人魂
適切なソフトウェア工学の代わりに「ハッキングスキル」のみを必要とする、第二波のデータサイエンティストの概念は繰り返し批判されてきました。

読みやすさ、モジュール性、またはバージョン管理の欠如は、コラボレーション、結果の再現性、および製品化を妨げます。

代わりに、適切なソフトウェアエンジニアから技術を学んでください。コードをテストしてバージョン管理を使用します。

確立されたコーディングスタイル(例えばPEP8)に従い、IDE(例えばPyCharm)の使い方を学びましょう。ペアプログラミングを試してみましょう。コードをモジュール化して文書化し、意味のある変数名を使用して、更にコードを良くするためにリファクタリングして改善しましょう、そしてリファクタリング、更にリファクタリングを行います。

アジャイル開発を行ったデータ分析結果の試作版を製品展開する際に存在するギャップを埋めましょう。ロギングとモニタリングのためのツールの使用方法を学びましょう。解析結果を他の人に提供するために(Flaskを使用して)REST APIを作成する方法を学んでください。

あなたの作品をDockerコンテナに入れたり、Herokuのようなプラットフォームにデプロイする方法を学びましょう。

あなたが作ったモデルをノートパソコンの中で腐らせるのではなく、それらを会社のIT環境がぴったりと収まるようなデータ駆動型サービスに取り込みましょう。

3.統計とアルゴリズムツールボックス
データサイエンティストは統計学、特に機械学習における基本概念を徹底的に理解しなければなりません。

STEM(Science, Technology, Engineering and Mathematics:科学、テクノロジー、エンジニアリング、数学の分野総称)大学教育はおそらくこの基盤を獲得するための最良の方法です。

重要な情報については膨大な数のリソースがあるため、ここでこれ以上詳しく説明することはしません。統計的不確実性のようなアルゴリズムや概念をクライアントに説明したり、相関関係と因果関係を取り違えているような洞察にレッド―カードで警告する必要が出てくる場合がよくあります。

4.ソフトスキル
社会人としてのスキルは、技術的スキルと同じくらい生産性にとって重要です。第三世代のデータサイエンティストはこれらの分野のスキルを改善するために意識的な努力をします。

・同僚と仲良く働く
同僚と相談しましょう。ほとんどの人は喜んで助けたりアドバイスをしてくれます。あなたは素敵な学位と洗練されたアルゴリズムを理解しているかもしれませんが、他の人もあなたがした事がない経験を持っています。(これは基本的な社会的アドバイスに思えるかもしれませんが、傲慢なIT専門家に会った事はありませんか?)

・顧客を理解する
正しいフォローアップの質問をしましょう。顧客や上司から、鍵となる数値の計算やグラフの作成を求められた場合、「何故ですか?何のためですか?何を達成したいのですか?結果が出たら、どのような行動を取るのですか?」と、問題の核心をよりよく理解するために質問をしましょう。それからどうやってゴールに共に到達するか考えましょう。依頼された方法よりその目標に達するための別の、より良い方法があるか考えましょう。

・社内政治を先導する
ネットワークとは、他の人があなたのキャリアに利益をもたらすと期待して作るものではなく、あなたが親しみやすい人と理解して貰うためのものです。仕事内容が似ている人と繋がりましょう。あなたの会社にコミュニケーションのためのプラットフォームがない場合は、それらを作成しましょう。主要な利害関係者を特定し、彼らが問題を解決する方法を見つけ出しましょう。

他の人を早めに巻き込み、変革プロセスの一部にしましょう。覚えておいてください:会社は合理的な実体ではなく、しばしば非合理的な人間の集まりです。

・結果を伝える
視覚化とプレゼンテーションのスキルを高めましょう。クライアントにとってのコミュニケーションとは何でしょう?どうやって彼らの質問に正確に答えることができますか? 様々なレベルでコミュニケーションをとり、あなたの仕事の詳細をまとめることを学びましょう。

人々はしばしば、見た目が目立つ多次元グラフに容易に興味をそそられますが、しばしば単純な棒グラフがより効率的にメッセージを伝えます。

・あなたの成果を公開する
あなたがしていることを見て、あなたが素晴らしい仕事をしていることを他の人が知れば、彼らはあなたを信頼するでしょう。

・あなた自身を診断する
あなたの目標と問題を伝え、積極的に助言を求めてください。データサイエンスコミュニティの内外でロールモデルを見つけ、その人達から学びましょう。

 

著者のDominik Haitzは、データサイエンティストです。
Twitterのアカウントは@ionos_de、Blogはtowardsdatascience.com/@d_haitzです。

3.第三世代データサイエンティストに必要なスキルセット(2/2)関連リンク

1)www.kdnuggets.com
The Third Wave Data Scientist