げんきちの秘密基地

エンジニアリングが世の中の思いを実現してきた歴史に気づき、29歳未経験からWEBエンジニアとして転生!【Danger】綺麗事を割と本気で言ってきます【GitHub】https://github.com/0840kg【Twitter】https://twitter.com/0840kg

【営業から運用まで】全部分かる、データサイエンティストの仕事

ぞす!げんきちです!\\\\٩( 'ω' )و ////

 

「いや、誰だよ」って方は、下記リンクを見てやってください。

  1. はじめまして!げんきちです! - げんきちの秘密基地

  2. 僕がエンジニアになりたい理由 - げんきちの秘密基地

目次〜

f:id:www08056561815:20190223214943p:plain

今日は、昨日参加した勉強会の内容をシェアします!
自分用のメモのため、可読性についてはご容赦ください...🙇‍♂️

 

事前準備

データ・サイエンティストとは

さまざまな意思決定の局面において、データにもとづいて合理的な判断を行えるように意思決定者をサポートする職務またはそれを行う人のことです。統計解析やITのスキルに加えて、ビジネスや市場トレンドなど幅広い知識が求められます。

 

共通の資質

課題解決の手腕、優れたコミュニケーション能力、物事の仕組みに関する飽くことのない好奇心など。

 

  • データ・サイエンティストを雇用する準備が整っている企業や組織とは?

  • データ・サイエンティストを本当に必要としている組織には2つの共通点があります。
  • 膨大な量のデータを管理していることと、難しい課題に日常的に直面していることです。
  • 典型的なのは、金融、官公庁、製薬などの業種です。

 

www.sas.com

 

データサイエンティストとは

丸尾 データサイエンティストは2種類あると考えています。1つが機械学習エンジニアで、サービスに機械学習を用いた機能を実装するのが役割です。もう1つがデータアナリスト、意思決定の精度を上げるためのレポーティングを受け持ちます。

 

米田 僕の定義もデータアナリストの使命は統計学機械学習を駆使してデータを活用し事業貢献することだと思います。それに対してデータエンジニアは、機械学習統計学のみならず、基本的なWebエンジニアリングの知識やコンピュータサイエンスの知識を用いサービスにデータを活用した機能を導入することが使命だと思っています。

 

丸尾 小さいサイズの組織では分析と実装を同じ職責にしているところもあるようですが、まるでスーパーマンですよね。実装と分析では求められるスキルも違うから、専門のロールがあったほうが個々の能力を上手く生かせるように思います。

 

米田 一時期僕は、ロジック作りとA/Bテストの設計を自分ひとりでやってましたけど、分析にはかなり手間取りましたね。僕はものづくりが好きなので、テストの集計や、「統計的に有意な差があるか」を見ていくことに対しては、あまりモチベーションが湧かないです。

 

染谷 データエンジニアの立場からすると、データアナリストには、不確定な状態下でも根拠を持って方向性を打ち出してくれる存在だと思っています。

 

どのようにデータエンジニアやアナリストのスキルを身につけていったのか?

丸尾 今の仕事を選んだ経緯を話すと、学生時代は物理専攻で、機械学習を学んでいたわけではないんです。修論で量子情報の実験のお手伝いと理論をやっていたときも、実験やシミュレーションの結果を分析する瞬間が一番楽しかったので、データ分析を仕事にしようと思ったんです。

物理と機械学習はどちらも数学を使いますし、データ分析も研究も問題定義、仮説立案、仮説立証、のプロセスはよく似ているので障壁も大きくなかった。流行りもの好きということもあって、機械学習を用いたデータ分析の仕事をやろうと考えてSIerの研究部門に新卒で就職するつもりでした。しかし別の部署に配属されてしまい、データサイエンスの仕事ができる環境を求めて半年で退職しています。

 

染谷 自分はコンピュータサイエンスを学んでいたものの、学部の4年生の時に研究室に入ってみると、周りのしゃべってることが何も分からない。昼食の時に聞こえた単語を拾ってあとで調べていたのをいま思い出しました(笑)。大学時代にCourseraのMachine Learningコースは一通り終えましたが、機械学習を専攻していたわけではなく、開発基盤やDevOpsに興味を持っていたくらいです。

qiita.com

 

データエンジニア/アナリストが考える2018年現在、データエンジニアに必要なスキルセット一覧

エンジニアリング
 ・プログラミング能力(PythonC++ or Golang など)
 ・自社で利用しているWebフレームワークの知識
 ・AWSなどクラウドサービスの知識
 ・Docker

サーバ・データベース
 ・サーバ基礎知識
 ・ネットワーク基礎知識
 ・高速かつ保守性の高いhttpsサーバ構築
 ・ビッグデータを扱うソフトウェア技術(hadoop、Spark、Hive、Presto)

機械学習
 ・統計学、数学基礎知識(大学学部レベルの”微分積分”・"線形代数"・"確率統計"を使いこなすレベル)
 ・論文やIT技術のニュースを理解できる英語力
 ・機械学習知識
 ・特定のリサーチ領域(ex.画像検索、言語処理)の全体的な理解(重要な論文を読む。最新情報へのアップデート)

 

一番大事なのはデータに基づいた意思決定を行う会社が最後に生き残る、という信念が持てることだと思います。

 

どんなときに「やりがい」を感じたり、事業に貢献していると感じられるか?

染谷 僕は自分が作った機能やサービスが使われて、ユーザーからフィードバックがあるとうれしいですし、貢献しているという実感があります。

 

米田 会社に直接的に貢献する以外にも、たとえば対外的に発表できるような技術や仕組みを編み出したり、エンジニアとしてのプレゼンスを上げる仕事ができたかっていうのも、仕事の満足度にかなり影響があるように感じますがどうでしょう?

 

丸尾 私自身、数学や分析のテクニックがすごく好きですし、社会科学や医療科学統計など、異なる分野の分析手法を勉強して、学んだことが実際の分析に役立っていると感じる瞬間がとても楽しいです。自分にしかできない仕事をやっている感覚といえばいいでしょうか。

経営層やプランナーが「俺はこう思ってるけど、でもはっきりとは分からない」という状況に直面した時に、「おそらくこっちのほうが確度が高いですよ」という形で、意思決定をサポートすることはありふれていますよね。こうした役割は、きっとなくならないと思います。

 

employment.en-japan.com

 

データサイエンティストとは

ビッグデータを活用・分析し、それをマーケティング等に活かしてビジネスに価値を生み出すプロフェッショナルの事です。基盤やプログラミングといったITスキルだけでなく、経営や企画などのビジネススキルや統計学、心理学等、幅広い分野の知識が必要とされます。

 

エンジニアからデータサイエンティストへ

システム開発やシステム運用のスキル・経験があるため、分析基盤環境の構築・運用で力を発揮することを期待されます。ITの分野においては充分な知識を持っていると思うので、統計学機械学習、ビジネス知識を重点的に補うといいでしょう。また、プレゼンテーションの経験が無いのであれば、その練習もしておきましょう。

 

データサイエンティストの年収事情

平均年収.JPによると、データサイエンティストの平均年収推移は440万円~870万円で、年収の平均は、655万円ほどです。また、職種別に年収を見ると下記のように年収に変動があるようです。
 
Webマーケティング:450万円~870万円
データ分析:465万円~620万円
アナリスト:443万円~755万円

 

データサイエンティストを必要とする企業

Webポータルサービス

Yahoo! JAPANなど、Web利用の起点となるWebポータルサイトは、ビッグデータの塊です。様々なサービスが集約しているため、抱えるデータ量は他サービスの比ではありません。また、利用者も必然的に多くなるため、日々ユーザビリティの向上を目的としたデータ分析が欠かせません。
 

ECサイト

ECサイトが売り上げを伸ばすには、ユーザ目線でのデータ分析が非常に重要です。購入履歴の解析や、それに基づく購入予測をレポーティングし、課題への対策を提示することによって売り上げの向上に貢献します。
 

ソーシャルゲームサービス

ソーシャルゲームの収益方法は、“広告収入”と“アプリ内課金”が主要です。収益方法によってデータサイエンティストが分析・仮説する内容も変わってきますが、基本的には「どうやって、よりユーザを楽しませ課金意欲を掻き立てるか」を目的としてデータ分析を行います。
 

furien.jp

 

応募資格(例)

 

例1

【必須要件】
Pythonを使用した開発経験(即戦力を求めるため)
■TensorFlow,Chainerなどの深層学習ライブラリの使用経験
■ドキュメント作成能力
■コミュニケーション能力

【歓迎要件】
■Scikit-learnなどの機械学習ライブラリの使用経験
■データサイエンス(統計学)の知識
■プロジェクトマネジメント経験
■英文読解、英会話が出来る方

【求める人材像】
■プログラミングが好きな方
■自分の腕・技術力に自信のある方
■様々な分野の知識を自発的に学ぶ意欲のある方

 

例2

【必須(MUST)】
機械学習系、オープン系、Web系、スマホ系のうちいづれかの開発経験が2年以上ある方
ディープラーニング自然言語処理、深層学習、画像認識、パターン認識いづれかで基本的な知識がある方または独学している方
・数学に抵抗がない方 

【歓迎(WANT)】
機械学習開発へ転身したい方
Pythonでの開発経験者
・Keras、JupyterNotebook、YOLO、Tensorflow 、OpenCV、scikit-learn、chainerなどのライブラリやツールの経験がある方
・理系大学卒の方(文系の方でも数学の学習に抵抗がなければ可)
微分積分線形代数・統計など数学が好きな方、得意な方
・G検定またはE検定合格者
・統計検定合格者
AWSまたはGoogle Cloudなど認定試験合格者
・Qiita等技術ブログを投稿し発信している方
Slideshare等に技術に関する資料を公開している方 

 【求める人物像】
・受身姿勢ではなく能動的にアクションを起こせる方
・技術のみならず組織作りにも積極的に取り組むことで企業・自分自身・仲間の成長に喜びを感じられる方
・論理的思考がある方
・モノづくりが好きであり新しい技術も積極的に興味がある方
・経験が浅くても自分でサービスを公開したり、自宅での検証など自己研鑽を怠らない方

 

例3
■必須スキル
 ・プログラミングでの実装経験(言語問わず)

■歓迎するスキル・経験
 ・統計学の知識、経験
 ・画像認識技術の知識、経験
 ・ディープラーニングの知見
 ・機械学習やデータサイエンス関連知識、経験
 ・SQLPython、R、SASSPSSの実務経験
 ・関連論文の情報収集、実装経験

■求める人物像
 ・学習意欲高く、ビジネスを理解して事業貢献できる方
 ・意見やアイデアを積極的に発信できる方
 ・新しい技術の習得に積極的な方

■学歴
 ・不問

 

 例4

【必須要件】
機械学習自然言語処理アルゴリズムを開発し、実サービス(オンライン・オフライン問わず)に適用した経験
機械学習の実装やデータ分析の実務経験2年以上
Python, Ruby等でのシステム開発経験
機械学習データマイニングの学術論文を頑張れば読める程度の基礎知識、あるいはそのための努力に抵抗がないこと

【歓迎要件】
GCPAWSなどクラウド環境でのインフラ構築経験
機械学習、最適化、統計、計量分析などに関する専門知識
・プロジェクトの企画・マネジメント経験
・Webマーケティングの知識

【求める人物像】
機械学習自然言語処理の知識を使って、世の中に新しいサービスを提供したいという熱い想いのある方
・向学心、知的好奇が強く自ら成長できる方
・組織ミッションをふまえた上でチームメンバーを巻き込み、自発的な行動がとれる方

 

例5

【必須要件】※下記のいずれか
・データサイエンティストとしてツールに関わらず開発・分析経験があり、今後MA周りでのキャリアを構築したい方
・SE、PGとしてSQLjavascriptなどの開発実績があり、今後データサイエンティストを目指したい方。
・データアナリストとしてGA.AAなどのアクセス解析ツールの深い操作、設定、分析経験があり、今後データサイエンティストを目指したい方。

【歓迎要件】
下記いずれかのツール操作、設定、設計、分析などのご経験
・Sales force Marketing Cloud、MarketoなどMAツールの操作、設計、開発、分析のいずれかに関わり、成果を上げた経験。
Adobe Analytics、Adobe Dynamic Tag Management
Google Analytics (360だと尚良)、Google Tag Manager
・KARTE
JavaScript(既存のスクリプトを書き換えられる)
SQL, Hive, Prestoクエリ等でサブクエリが書ける
・TreasureData, Redshift, BigQuery等のクラウドサービスを使ったテーブル〜データマート作成経験
・何らかのBIを使って可視化ができる(Tableau/PowerBI等)
・エクセルを使ったグラフ作成経験
PowerPointを使って分析報告資料の作成経験
・R、Pythonを使った分析経験
SASSPSS等を使った分析モデルの作成経験
・統計解析の基本的な理解
・決定木、クラスタリング、重回帰等の機械学習モデルを使った分析経験

 

style.potepan.com

 

【営業から運用まで】全部分かる、データサイエンティストの仕事 

講師紹介

【中村牧場合同会社 代表 中村俊輔

株式会社Splink AIエバンジェリスト

マネーフォワードグループ 株式会社クラビス 人工知能研究所 所長

株式会社エッジコンサルティング AIジョブカレ 機械学習, 深層学習講座 講師 株式会社奈良クラブ CTO

奈良先端科学技術大学院大博士前期課程修了

学生時代からデータサイエンティストとして株式会社マクロミルで勤務

新卒で楽天株式会社のビッグデータ処理アプリケーション開発に携わった後

スタートアップでWebマーケティングツールのデータ解析部分をスクラッチから開発

人工知能受託開発会社で30以上のプロジェクトのコンサルタント、開発者、プロジェクトリーダーとして 携わりながら50人以上のデータサイエンティスト育成~実稼働までサポート

 

なぜ今、機械学習なのか?

コンピュータの方が安く、よりよく課題を解く場面が増えたから。

 

人間の得意なこと

・曖昧さを許容

・多様な知識を自ら学習

 

コンピュータの得意なこと

・大規模計算が正確、高速

・不眠不休

※ AWSによって脳みそが1つ増えるイメージ。

 

今、起こっていること

ICT革命メモや電話がパソコンに。

人工知能革命現在進行中。

 

受託開発のイメージ

のび太(クライアント):こんなもの作りたい

ドラえもん(エンジニア):作ったよー

 

googleとかのイメージ

もしもボックスAPI

既にある学習済みモデルの利用に応じて課金する。

ドラえもんはいらない。

一方で、細かいクライアントの要望には対応できない。

 

AIエンジニアは営業すべき!

なぜなら、クライアントは

「AIがすごいみたいだけど、なんかできない?」って状態だから。

 

契約をどうするか、ではなく

どんなものを作るか、を話す

 

AIがすべきこと 

軽度な知的作業、データを集めれば何とかなるもの、先行研究などがあるもの。

AIは万能ではない!

 

売りやすいAI

コストカットAI

コンピュータがやるべき作業を人がやっている箇所をまずAIにしましょう。

その次にCPUにしかできない領域へシステムを拡張していくイメージ。

その方が費用対効果が良い(イニシャルコストの回収が早い)。

 

削減できるコストとAI化難易度によるタスクの絞り込み

例えば、

 

タスクA    

削減コスト 800万円/

AI化難易度     B(割と簡単)

 

タスクB

削減コスト 1000万円/

AI化難易度    E(激ムズ)

 

ならAからやりましょう、みたいな感じ。

 

AIエンジニアになるためには?

自分はデータサイエンティストですって言ってしまうこと。

あとは勉強会とかを主催してると割と仕事もらえたりします。

 

勘違いしてはいけないこと

既に解かれている似た課題の応用だけで顧客はハッピーになれることが多いです。

我々は研究者ではありません。

 

受託開発か、APIか。

AIをビジネスのコアバリューにしたいなら、受託(オリジナル)開発。

AIを追従するだけでいいなら、API

 

仕事のコツ

お客様はデータを持っているビジネスの専門家。

我々はデータの専門家。

コツは、とにかく仲良くすること!

 

よくあるダメなパターン

機械学習をわかっていない人(クライアント)がリードをして、

我々(エンジニア)がビジネス要求を想像すること。

 

想像するよりクライアントに直接聞いた方が早くて正確!

大切なことは、ビジネスの専門家であるクライアントから単なるcsvとして渡されたデータの特性(そのデータはどこからきたのか)を聞き出すこと。

 

そのために、仲良くなること!

AIに仕事を取られると思っている人は教えてくれにくかったり...)

 

あとは「〇〇がすごいらしいぢゃん。それして」みたいなクライアントの無茶ぶりに振り回されるとデスマーチになります。

 

だから技術を知らない営業が御用聞きしてくると大変。

エンジニアが難しいことは難しいと前もって伝えるべき。

クライアントとエンジニアが難しいことに挑戦しているという共通認識の下で挑戦するのは、◎。

 

仕事の細かいコツ

表よりグラフの方がお客様は喜ぶ。

開発スピードや計算機(PC)のパワーをいかに引き出すかが勝負。

(現場では、とにかく書いたもん勝ち。)

巨人(googleなど)のAPIの作りはかなり参考になる。

 (やりたいことは、ほとんど落ちている。)

 

最近の傾向

機械学習コモディティ化してきている。

最新の論文がgit hubで公開される時代。

ベースラインに追いつくのは驚くほど簡単に!

現時点では、ベースラインを実装しているだけでお金がもらえる。

ブルーオーシャン

 

傾向を踏まえてエンジニアのすべきこと

我々のすべきことは、情報をアップデートして、それを現場の課題に落とし込んで、あとは細かいチューニングをしていくこと。

正答率97%のベースラインを現場の課題に落とし込んだ時に、正答率が80%とかになってしまう。

それをいかに現場の環境でも97%に近づけていけるかが、データサイエンティストの腕の見せどころ。

また、そこがエンジニア個人の差別化ポイントにもなってくる。

 

システムの質とは?

運用に時間がかかるシステムは、お互いにアンハッピーになる。

大学で研究とかしてきた人が落ち入りがちだけど、どんなに優れたモデルを作り込んでも、運用しにくければ現場での価値は低い。

 

普通の開発・運用ができていないと以下のような時間配分になる。

障害やバグ対応、仕様変更に耐えられない。

 

理想的な時間配分

開発7

運用2

会議1

 

ダメな時間配分

開発1

運用8

会議1

 

データサイエンティストに必要な力

データサイエンティスト協会によると....

・ビジネス力

・データサイエンス力

・データエンジニアリング力

 

身につけるには、実務が一番!

 

PR

データサイエンスは面白い!

今まで人間が解けなかった問題が解ける瞬間があるから!

定期的に輪読会なども開催しています。

興味のある方はぜひ遊びに来てください。

 

懇親会で話した人(元ゲームプランナー、現エンジニア)

別に未経験でプログラミング歴が23ヶ月でも、やる気とコミュ力があれば、配属になれば逆にありがとうございますって感じです。

 

懇親会で話した人(SIer、エンジニア)

転職を考えています。理由は、オープンソースに触れる機会が少なく、エンジニアとしての力がつかないように感じるからです。

一昔前なら、技術力の高い企業がクローズドソースによって市場を独占することも可能でしたが、今は海外のオープンソースの性能がバカ高いのでクローズドソースだけではとても追いつけない。

オープンソースを公開している企業の目的は、自社のソースに慣れ親しんだエンジニアの獲得と、課金APIへの布石などです。

 

懇親会で話した人(AIエンジニア)

現場では、検索力とデバック力があれば何とかなります。

あと皆バカにするけど、情報処理技術者試験の内容も捨てたもんじゃありません。

 

<一日一新>

 デザインクリームという整髪料。ベタつく。

 

<学習進捗>

学習開始からの期間 :67
今日までの合計時間:670h
今日までに到達すべき目標時間:611h
目標との解離:59h
10,000時間」まで、

 

残り・・・9,350時間!」

 

以上です。

読んでくれた方々、ありがとうございました!((_ _ (´ω` )ペコ。

genkichi.hateblo.jp

genkichi.hateblo.jp

 

f:id:www08056561815:20190224095507g:plain

twitter.com