Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
エンジニアとデータサイエンティストがもっと仲良くなるためのデータサイエンティストの話
Search
Toru Nishiyama
December 19, 2018
Technology
0
210
エンジニアとデータサイエンティストがもっと仲良くなるためのデータサイエンティストの話
2018年12月19日に発表した第1回DSE勉強会の発表資料です。
Toru Nishiyama
December 19, 2018
Tweet
Share
More Decks by Toru Nishiyama
See All by Toru Nishiyama
scramble#4_最近のFOLIOのToC事業におけるプロダクトマネジメント※公開版
paulxl
0
1.8k
データ活用の進め方をステークホルダーに理解してもらうためにやったこと
paulxl
1
1.2k
databricksを使ってnotebookベースでお手軽に機械学習API・バッチ処理を量産する
paulxl
2
1.1k
Other Decks in Technology
See All in Technology
The Rise of LLMOps
asei
7
1.6k
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
120
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
OTelCol_TailSampling_and_SpanMetrics
gumamon
1
170
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
590
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
150
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
110
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
610
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
180
Featured
See All Featured
RailsConf 2023
tenderlove
29
900
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
A Philosophy of Restraint
colly
203
16k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Transcript
エンジニアと データサイエンティスト がもっと仲良くなるための データサイエンティストの話 DBD DSE 西山 徹
2 サマリ • 自己紹介 • Introduction • この会の目的とか • おことわり
• 本題 • 前菜:「でーたさいえんてぃすと」「えーあい」って? • データサイエンティストってどんな人? i. データサイエンティストのスキルセット • データサイエンティストってどう働いてるの? i. 一般的なデータ分析プロジェクトのよくある流れ ii. DSEのデータサイエンティストが今、何をしているか • エンジニアとデータサイエンティストがシナジーを発揮するために • Appendix • データサイエンティストになろう! i. 目的別データ分析関連書籍
3 Introduction • この会の目的とか • エンジニアとデータサイエンティストが もっと仲良くなればお互いのスキル上がるし、 きっとFortunaも良いものになるよねー • ので、エンジニア
<-> データサイエンティスト間で 積極的に技術交流していきましょう! • ということでまず今日は、「そもそも データサイエンティストって何?何してるの? 何属性が弱点?」みたいな話をしたいと思います
4 Introduction • おことわり • 話の性質上主語が大きくなりがちですが、 お手柔らかにお願いします
5 本題
6 「でーたさいえんてぃすと」「えーあい」って? • …ぶっちゃけよくわかんないですよねーー(^q^) • そうだ!詳しそうな人に聞いてみよう!
7 OK, Google. 「データサイエンティストって何?」
8 「でーたさいえんてぃすと」って? • By 営業の人とか偉いおじさん • 「エンジニアと一緒。プログラム書いてるし。」 • 「統計に詳しいマーケターでしょ。」 •
「AI作れる人。機械学習とかどうでも良いからさっさと ディープラーニングしてよ。」 • By 知ってそうな感じの人 • 「データサイエンティストはデータエンジニアとは違って ビジネス理解も大事だよねー」 • 「論文を読んで提案手法をスクラッチで実装できないと 本当の意味でデータサイエンティストとは言えない(キリッ」 • 「データ分析以外の仕事も降ってくる辛いお仕事です」 • By 金融系の人 • 「うちにはアクチュアリーならいるけど?」
9 Hey, Siri. 「AIって何?」
10 「えーあい」って? • By 営業の人とか偉いおじさん • 「Watsonを使って外注で開発した わが社のチャットボットこそAIです」※中身はルールベース • By
知ってそうな感じの人 • 「ロジスティック回帰をAIって言うのはないわー。」 • 「ディープラーニングならAIなの? 結局は機械学習(統計)モデルでしょ?」 • BySiri • 「私のことですが何か?」
11 結論: どっちもバズワードなので 明確な定義はありません
12 「でーたさいえんてぃすと」「えーあい」って? • …それだと身も蓋もないので最低限説明します • データサイエンティスト • データ分析業務に従事する人。 • 現状データ分析業務のプロセスが広く一般に
確立されていないので、人によっていろんな仕事を やらざるをえないやっているので誤解されがち。 • データを使って有用な知見を導出するために、 統計学だったり機械学習の知見を使う人々。 • AI • 略(理由は口頭で)
13 データサイエンティストって どんな人?
14 データサイエンティストってどんな人? • データサイエンティストのスキルセット • 一応偉い人が教科書的な定義を決めたらしい
15 データサイエンティストとは? • データサイエンティストのスキルセット a. ビジネス 力(business problem solving) b.
データサイエンス 力(data science) c. データエンジニアリング 力(data engineering) 出典: http://www.datascientist.or.jp/news/2014/pdf/1210.pdf
16 データサイエンティストとは? • データサイエンティストのスキルセット • 複合スキルを活かしてデータ分析課題に取り組む人と言えそう • 周りの人を見ていてもどれかのスキルを軸に活躍している人が多い (気がする) •
ビジネス 力(business problem solving) • コンサル・マーケター・営業出身の人とか • データサイエンス 力(data science) • 学生時代に統計・機械学習の研究した人とか、あるいは 研究スキルをデータサイエンス分野で活かしてる人とか • データエンジニアリング 力(data engineering) • (web系orソフトウェア)エンジニア・SI系出身の人とか • その人がどの系統っぽいかを見極めると話がしやすいかも • スキルセットのイメージを具体化するためにはこんなのも • ちなみにもうちょっと細かい分類もある 出典: http://www.datascientist.or.jp/news/2014/pdf/1210.pdf
17 データサイエンティストとは? • データサイエンティストと似てる人たち? • データアナリスト(ビジネスアナリスト) • データエンジニア • 機械学習エンジニア
• AIエンジニア • データサイエンティストと同様明確な定義はない • つまり、組織によって役割は違う • ただし、「◦◦エンジニア」は分析基盤の構築やモデルの運用 などエンジニアリング色が強い業務、 「◦◦アナリスト」は組織の意思決定やKPIモニタリングや施策導出などビ ジネス色が強い業務をやってる印象 • 両者を一緒くたに「データサイエンティスト」と呼んでいる ケースも多い(冒頭の例)
18 データサイエンティストって どう働いてるの?
19 一般的なデータ分析プロジェクトのよくある流れ • 具体的なモデルケースを見ていきましょう • ケース • あなたはソシャゲ企業のデータサイエンティストとして、 スマホゲーム上の行動ログを用いてユーザの離反予兆を 検知するモデルを作成することになりました
20 一般的なデータ分析プロジェクトのよくある流れ • 大まかなプロセス • 要件定義 • データ確認 • 予測モデル構築
• (予測モデルのAPI・バッチ化) • (精度のモニタリング) 各プロセスで行うことを詳しく見ていきます
21 一般的なデータ分析プロジェクトのよくある流れ • 要件定義 • 予測モデルを構築するためにどのようなデータが使えるか 確認する • 例えば、単なるアクセスの有無だけでなく、どういった行動 (イベント参加・ガチャの結果)をとったかわかる状態に
なっているか • 詳細は実際にいじってみないとわからないので、ざっくりで良い (ただし「いじってみないとわからない」ことを関係者と 合意する必要がある ) • 「離反」をどう定義するか • 例えば「最終ログインから、何日空いたら離反」と定義するのか • これが「目的変数」と呼ばれるものになる • 予測モデルをどうビジネスに活用できるか • やりたいことが「予測モデルにより離反するユーザを事前に検知、離反予 兆ユーザのための施策により離反が防止できる」 ことだとすると、施策を打つために離反の何日ほど前から予兆が わかっていないといけないか
22 一般的なデータ分析プロジェクトのよくある流れ • データ確認 • 実際のデータを確認して、データにどのような 特徴があるか確認する • DAU, MAUは?1ユーザあたりの行動ログ数は?
離反ユーザの数は?離反が多い・少ない時期はある? 離反ユーザはどのくらい前からアクセス傾向に変化が ありそう? • ここで行った確認結果を通して、 「使えそう(ビジネスに活用できそう)な予測モデルができる か」を関係者と詰めていく
23 一般的なデータ分析プロジェクトのよくある流れ • 予測モデルの構築 • ここまでに得られた情報を元に、 機械学習モデルを構築する • どういう特徴量を使うべきか・あるいは使わないべきかを判断する •
構築したモデルによる予測結果を担当者に 展開し、ビジネス活用が可能かどうか改めて 協議する • 実際に離反ユーザを予測できるか・予測したユーザに 施策を打つことで離反が防止できそうかなどを テストすることを含む
24 一般的なデータ分析プロジェクトのよくある流れ • 例えばこんなことを考える • 3日間ログインなし -> 離反と定義し、 それを1日前に予測できるモデルを作った例 12/12
12/9 12/8 12/1 この期間の行動で 離反する/しないを予測する 離反予兆ユーザに離反防止 施策を打つための期間 離反期間(ログインしない) ≒コミュニケーション できないので手遅れ
25 一般的なデータ分析プロジェクトのよくある流れ • 例えばこんなことを考える • 3日間ログインなし -> 離反と定義し、 それを1日前に予測できるモデルを作った例 12/12
12/9 12/8 12/1 この期間の行動で 離反する/しないを予測する 離反予兆ユーザに離反防止 施策を打つための期間 離反期間(ログインしない) ≒コミュニケーション できないので手遅れ マーケ担当からのコメント : 施策を打つのに1日じゃ短いよ。 もっと前に離反予兆ユーザが知りたい
26 一般的なデータ分析プロジェクトのよくある流れ • 例えばこんなことを考える • 3日間ログインなし -> 離反と定義し、 それを1日前に予測できるモデルを作った例 12/12
12/9 12/6 11/29 この期間の行動で 離反する/しないを予測する 離反予兆ユーザに離反防止 施策を打つための期間 離反期間(ログインしない) ≒コミュニケーション できないので手遅れ データサイエンティスト : 離反の3日前に予測できるよう にモデルを改良しました。 そのかわり、精度は5%ほど 落ちてしまいます。
27 一般的なデータ分析プロジェクトのよくある流れ • 例えばこんなことを考える • 3日間ログインなし -> 離反と定義し、 それを1日前に予測できるモデルを作った例 12/12
12/9 12/6 11/29 この期間の行動で 離反する/しないを予測する 離反期間(ログインしない) ≒コミュニケーション できないので手遅れ データサイエンティスト : 離反の3日前に予測できるよう にモデルを改良しました。 そのかわり、精度は5%ほど 落ちてしまいます。 マーケ担当からのコメント : 精度が下がったのは仕方ないけど、 3 日あれば複数の施策も打てるしこっち の方が良いかな。 色々施策打ってテストします ! 離反予兆ユーザに離反防止 施策を打つための期間
28 一般的なデータ分析プロジェクトのよくある流れ • 予測モデルのAPI・バッチ化 • 前段の議論で予測モデルが活用できそうとなった 場合、予測モデルをスケジュール実行できるように する必要がある • 必要なデータ加工・予測モデルによる予測結果の付与な
どを自動化できるようAPI・バッチ化する • ここで既存のインフラ担当者などとやりとりが発生する
29 一般的なデータ分析プロジェクトのよくある流れ • 精度のモニタリング • 予測モデルは、通常一定期間を経ると精度が 落ちてしまう • なので、常に予測精度が落ちていないか監視し、 定期的に予測モデルを作り直す必要がある
• 上記をある程度自動化するために、ダッシュボードで 精度を手軽に監視できる仕組みをつくる必要がある • ここらへんは失敗談を過去に発表してるので よければぜひ
30 DSEのデータサイエンティストが今何をしているか • 一般的な「データ分析プロジェクト」にとどまらず 色々やっている • アルゴリズム&モデリング • 機械学習モデル構築ツール(dsciAI)の開発 •
データクオリティ • SS保有データの品質の標準化・向上 • マーケティングサイエンス • マーケター向き合いのデータ提供および新機能開発 • R&D • 自然言語処理技術を用いたユーザの特徴量抽出方法の検討 • 新規データ分析基盤の検討 • 商圏分析 • …色々ありつつトライアルカンパニー様と粛々と進めてます
31 エンジニアと データサイエンティストが シナジーを発揮するためには?
32 エンジニアとデータサイエンティストが仲良くするためには • 前提 • エンジニアとデータサイエンティストは、 スキルセットだけでなくマインドセットも違う • ここを意識するのが協業していく際の一番の ポイントになると思っています
• 極論、エンジニア <-> データサイエンティストに限った話 ではないですが… • ので、データサイエンティストがエンジニアと 協業する際につまづきそうなポイントを まとめてみます
33 エンジニアとデータサイエンティストが仲良くするためには • ケース • ある飲み会での愚痴 • データサイエンティストside 「あの人(エンジニア)は、コード書く力は間違いないけど ビジネス理解がいつも浅いからなあ…コードが汚いって
すぐ怒るし。良い分析結果出てるんだから別にうるさく 言わなくても良いのになあ。」 • エンジニアside 「あの人(データサイエンティスト)の書くコード、 オレオレ記法が多すぎて読み解け無いんだよなあ… ろくにテストもしてないコード渡してくるしgitも ちゃんと使えないし。」
34 エンジニアとデータサイエンティストが仲良くするためには • さっきのケースで伝えたいこと • データサイエンティストとエンジニアは 仕事の進め方や大事にしている価値観が異なる • 両方の価値観を正確に理解するのは難しいけど、 どういった違いがあるのかは理解できると良さそう
データサイエンティスト養成読本 ビジネス活用編 p.87 より引用
35 エンジニアとデータサイエンティストが仲良くするためには • データサイエンティストがエンジニアと協業する上で 障害になりそうなところ • チーム開発の経験が少なかったり、 コードの品質管理に疎い傾向にある • 分析プロジェクトでは、書捨てのコードも多く発生し、
必ずしもコードをGitで共有・品質管理しない • モデルをアプリケーションの中で運用する視点が弱い • アプリケーション開発・運用の視点が抜けてしまうと、 精度ばかりに着目してしまい、メンテナンス・運用コスト が高い予測モデルができたりする • 気づいたことがあったら随時議論しましょう!
36 まとめ • データサイエンティストに対する理解を 深めてもらうための基礎知識や、エンジニアと どういう時に協力が必要になるのか、 どういうポイントで躓きそうかをまとめました • もちろんこのケースにあてはまらない例も 多々あるかとは思いますが、少しでも
参考になると嬉しいです