渋谷駅前で働くデータサイエンティストのブログ

元祖「六本木で働くデータサイエンティスト」です / 道玄坂→銀座→東京→六本木→渋谷駅前

未経験者はどうすればデータサイエンティストになれるか

追記(2017年8月)

こちらの記事へのアクセスが未だに多いようですが、書かれてから既に4年が経過しており業界事情もだいぶ様変わりしております。このブログの「データサイエンティスト」カテゴリの他の新しい記事も是非ご覧ください。

以前の記事の続き再び。前回に引き続きまさにお題の通りで「未経験者はどうすればデータサイエンティストになれるか」ということなんですが、


そんな方法論あったら誰も苦労しねーよ。


ってのはウソ。笑 とは言え、僕自身「自分はデータサイエンティスト」と嘯くぐらいのことはできますが*1、かと言って本当にデータサイエンティストって言えるの?と真顔で迫られたら色々もにょることもあるわけで*2。ある意味僕も未経験者からデータサイエンティストと称される職種に転じた人間なので。


もっとも、僕は一方でアカデミック業界にいた頃はデータマイニングを駆使するquantitative researcherだったので、完全なる未経験者というわけでもなかったりします。ということで、その中途半端さ(笑)から来る経験をもとに、ちょっと書いてみようと思います。


ただし、大前提として「ITデータサイエンス業界で働くデータサイエンティスト」になることを目指すものと仮定します*3。悪しからず。


そしてそれ以上に、そもそも今回も要するに僕の経験にしか基づかない与太話なので、どこかにこれをデータサイエンティスト養成のためのテンプレートとすべし!みたいな提案とかする気は全くないです。平にご容赦。


スタートポイントごとに考える


大体ありがちなパターンに分けてみました。というのも、やっぱり文系理系問わないとか、そもそもデータサイエンティストに至る道のりに定番がないとかいうのもありますので。

ビジネス部門の人:データサイエンティストを目指す前に、まず最初にマーケッター・アナリスト・コンサルタントのいずれかになる

いきなり身も蓋もない話ですみません。笑


色々考え方はあると思うんですが、結局「データを『科学』するか否か」に尽きます。なので、データを「科学」するためのトレーニングがどうしても要ります。


あえて言えば、これがいわゆるアナリストやマーケッター、コンサルタントとの一番大きな違いだと思います。しかし、それ以外の大半の部分はオーバーラップしていると言っても過言ではないでしょう。それは、以前の記事でデータサイエンティストの定義を論じた通りです。


つまり、マーケッターやアナリストはたまたコンサルタントでも、データを「科学」することにコミットすれば誰でもデータサイエンティストになれるはず、とも言えます。その点で、既にアナリストやコンサルタントの経験のある人こそ、ここから下のプロセスに沿ってデータサイエンティストを目指したらいいのかな?という気もします*4


なので、未経験者であればまずはそれらのポジションに就くことを狙っていくべきだと思います。そうそう、僕はマーケッター・アナリスト・コンサルタントのいずれも経ずにデータサイエンティストになってしまいましたので、これらのポジションにどうやったら就けるかは分かりません*5。笑 悪しからず。

エンジニア部門の人:DBエンジニアかデータマイニングエンジニアを目指すべき

後で改めて書きますが、データサイエンティストになったら嫌でもDBは叩かなきゃいけません。なので、今エンジニアなのであればDB基盤系のエンジニアを目指すべきだと思います。ただし、今現在フロントエンドなのか、もしくはサーバーサイドなのか、といった点は特に気にしなくても大丈夫でしょう。


もちろん、DBエンジニアと言わずそもそもデータマイニングエンジニアを目指せばいいじゃん!という考え方もあります。ぶっちゃけ、最初からデータマイニングエンジニアになっておいた方が、データサイエンティストという職種に移行するのは物凄く手っ取り早いです。


ただし、どういうルートを経るにせよ、エンジニア出身者はマーケティング・アナリティクス・コンサルティングを学ぶ機会が物凄く少なくなってしまうので、この点だけは要注意です*6。むしろこの点ひとつのせいで、社内的に却下されてしまうケースがあるんじゃないかなー、と危惧します。

それ以外の人:そもそもデータマイニングの素養(学識)が必須

要するに僕のような、定量的研究分野の博士やポスドク出身といった、民間企業の世界では完全にイレギュラー扱いされる人種の話です。笑


これはもう上に書いたまんまで、初めからデータマイニングの素養というか学識経験がなければ、この後に挙げる様々な実務経験面でのビハインドを埋めるのはまずもって無理でしょう。


なので、ビジネス系でもエンジニア系でもない未経験者という特殊なケースでは、データマイニングの勉強は不要というくらいのexpertiseが必要になるということを強調しておきます*7


まずDB基盤技術を覚える


これマストです。データサイエンスを「実験科学」に喩えるなら、DB基盤技術は「データ測定技術」そのものです。データ測定できなきゃ、実験科学なんてそもそもできっこないですよねー。ということで、最低でもSQLは覚えましょう。


一番理想的なのは、「実際のDBを管理者権限ナシでとりあえず触らせてもらう」こと。これで適当なテーブルを抜き出したり、集計したりという実際の手作業を覚えるのが最も手っ取り早いです。


ところが、実はここに最初の大きな壁があるかもです。未経験者がいきなりその辺を触らせてもらうには、

  • ITエンジニア(サーバーサイド or DB)
  • マーケッターorアナリスト

のどちらかに配属されることが、大抵の会社では求められるんじゃないかなぁと思われるからです。・・・なればこそ、最初に設定した「マーケッター・アナリスト・コンサルタントのいずれかになれ」「DBエンジニアになれ」という目標が生きてくるわけです。笑


次にデータマイニングを学ぶ


大事なことを一番最初に書いておきます。

  • 座学は要らない
  • 最初は分析ツールを使いながら、分析ツールとオールインワンのテキストを読んで覚える


理由は簡単、まともに統計学とか機械学習のテキストを読んでいたらデータサイエンティストになる前に爺婆になりかねないし、重要なことは「とにかくデータマイニングのツール&ライブラリがあれば何とかなる」レベルに達することだからです*8。座学は要りませんが、トレーニングは絶対必須です。


で、MS Excelがいいか、Rがいいか、Pythonがいいか*9、みたいな話になりそうですが、「文系理系問わない」という話を前回しているので、ここはExcelとRを選びましょう。


Excelは必須です。どのみち最後はレポーティングが必要になるわけで、その点でExcelは以前として使いやすさ・結果の見やすさ・覚えやすさのどれを取ってもバランスが取れてて最高です。あ、もちろん他に使いやすいのがあるという人はそれではそれで全然構いませんよ。


ちなみにExcelに加えてRも入れた理由は簡単で、だんだんwebデータマイニングの現場が抱える課題が難しくなりつつある中、Excelだけでは追いつかないケースもちらほら散見されるからです*10。Rが使えないよりは、使えた方が便利だと思います。フリー=無料な上に、OSS同様に世界中のコミッターが最新パッケージをどんどん提供してくれるのでいつでも最新手法に触れられるというのも大きいです。あ、もちろんRよりも他に使いやすいのがあるという人は、どうぞそちらをお使い下さい*11


Rをインストールしたら、今度は「Excelで学ぶ○○」「Rで学ぶ○○」的なテキストでなおかつデータマイニングを取り上げているものを用意しましょう。この辺は僕もそれまであまり多用していなかったRの勉強*12に使ったものも含めて、この記事の最後にリストアップしました。


・・・え?データマイニングなんて知らなくても&出来なくてもいいんじゃないかって? いやいや、データサイエンティストと名乗るんだから「データを『科学』する」というのが出来なきゃダメですよ。そのためにも、データマイニングは最低でも「ツールとライブラリがあればこなせる」ぐらいにはなってないと。僕はそう思いますよー。


最後に、実際のビジネスにおける課題にコミットする


これを欠いたら元も子もないですねー。以前の記事でも書きましたが、実際のビジネスにコミットしてこそのデータサイエンティストですから。


ということで、実際にKPIなどのデータを計測・集計・分析し、その知見に基づいてコンサルティングマーケティング・プロモーションを行っている部署に最初は見習いとして入り、そこで経験を積みながら徐々に経営改善・施策提案にコミットしていくことが最重要だと思います。


その中で現実のデータに触れ、自分たちのアクションに連動して何が変わり、社会の変化に連動して何が動き、全てとは無関係に人々の行動がどう推移していくかを*13、自分の目で見て経験値として貯めていく・・・それこそがデータサイエンティストにとっては欠かせない、大事なトレーニングなんじゃないでしょうか。


ただし、自分の「主観」「肌感覚」「印象」とかを第一に据えてはいけません。「データを『科学』する」仕事を目指すのだから、出発点は常にデータ、もちろん分析結果もデータ第一。最後の最後の、考察や提案をレポーティングしてコンサルティングするところまでたどり着いて初めて、ビジネス的観点を取り入れて意思決定をするorサポートする側として振る舞う必要性が出てくるのだ、ということを肝に銘じるべきだと思います。


このステップまで来たところで、最初の3つの出自のどれだったかによって差が出てくると思います。初めからマーケッター・アナリスト・コンサルタントだった人は、割と簡単になじめるでしょう。エンジニアだった人はここでちょっと苦戦するかも。イレギュラー(笑)だった人は、うっかりするとこれが企業人になって最初の企業社会の洗礼、もしくは試練になるかもです*14


・・・というわけで、ここまでこなせたら、ようやくデータサイエンティストとしてのスタート地点に立てたかな?というところじゃないかと。


かく言う僕も、大幅にキャリアチェンジし、イレギュラーな未経験者という立場でITデータサイエンスの世界にやってきてそれほど日が経っていないので、スタートを切ってまだちょっと進んだ程度だと思ってます。皆さんぜひ一緒に頑張りましょう!


おまけ1:テキストなど


僕自身は未見のものが多いので要注意*15

Rで学ぶデータマイニング

データマイニング入門

データマイニング入門

割と定評のあるテキスト。同僚でも持ってる人が多いです。僕は持ってないです、すみません。

Rによるやさしい統計学

Rによるやさしい統計学

僕は未見ですが、よく取り上げられる本。

入門 機械学習

入門 機械学習

これも僕は未見ですが、Rで機械学習というとこの本がよく取り上げられますね。

RとS-PLUSによる多変量解析

RとS-PLUSによる多変量解析

僕も持ってます。S-Plus前提(純正R向けではない)の本。ただしサンプルデータを著者のサイトで配布していたりしてそこそこ使いやすい。手法はやや古め。

Rによるデータサイエンス データ解析の基礎から最新手法まで

Rによるデータサイエンス データ解析の基礎から最新手法まで

実際に僕が辞書代わりに使っている本。大半の手法を網羅しているので、一通り勉強し終わったらこれを脇に置いておくと便利かも。

Excelで学ぶデータマイニング

4Steps エクセル統計

4Steps エクセル統計

評判がいいようです。僕は未見。

Excel ビジネス統計分析 ビジテク 2007/2003対応

Excel ビジネス統計分析 ビジテク 2007/2003対応

これも評判がいいそうです。これまた僕は未見。

統計学自体のサブテキスト

マンガでわかる統計学

マンガでわかる統計学

アナリティクス系の仕事をしている別の同僚が持ってます。

マンガでわかるナースの統計学 -データの見方から説得力ある発表資料の作成まで-

マンガでわかるナースの統計学 -データの見方から説得力ある発表資料の作成まで-

これもアナリティクス系の仕事をしている別の同僚が持ってます。

統計学入門 (基礎統計学?)

統計学入門 (基礎統計学?)

The教科書。あまりにも有名な本。僕も学部生時代これを買わされました(笑)。そのまま読んで勉強するのはお薦めしません。Rの本読んでも、Rのヘルプ見ても分からない時はこれを辞書代わりに引くべし。

自然科学の統計学 (基礎統計学)

自然科学の統計学 (基礎統計学)

上のThe教科書の発展版。これまた僕が学部生時代に買わされた本(笑)。これも辞書代わりに置いておく程度で。適合度検定はこの本を読んだ方が良いです。


おまけ2:ここまでクリアしたら


いよいよPythonの魔境*16に行くしかないですね。笑 頑張って下さい、いやいや一緒に頑張りましょう。

*1:一応弊社ではデータサイエンティストという半公式の職名のもと配属されている

*2:例えばJavaスキルはアマチュア並みとかHadoopエコシステム独力で構築できないとか、そもそもコンピュータサイエンス出身じゃないとか、機械学習系の出自ではないとか

*3:要はIT化してないデータを相手にするデータサイエンティストも世の中にはいるけれども、ここではその話は除外しますよということ

*4:むしろそういうキャリアパスの人が今後は増えそうな気が

*5:他に良い本やweb解説とか探せばきっと何かしらtipsの類がありそうなのでそちらを見て下さい

*6:前の記事にも書いたように、実際のビジネスにコミットしてこそのデータサイエンティストなので

*7:ただし他の2ケースと異なり、あまり専門に特化し過ぎても融通が利かなくてまずいかも。○○アルゴリズム研究開発のエキスパート!というよりは、浅くても良いので広くデータマイニング手法に明るく、なおかつそれらのアルゴリズムの概略は理解しているというぐらいの感じがちょうど良いかも

*8:Data Scientistになるため、という話なので。これがQuantitative Researcherになりたい、というのであれば例えばPythonが最低レベルの教養として必須になります

*9:現実にはPythonのデフォルトパッケージだけでは足りず、NumPy / SciPy / Scikit-learnとかのライブラリも必要になる

*10:着地予想を出すのに計量時系列分析が必要になるとか

*11:とは言え、SPSSSASは高価なので会社が買って使わせてくれたらラッキー!ぐらいの方が良いかも

*12:アカデミック業界にいた頃はMatlabがほぼメインだったので。実は今でも試験用のコードは時々Matlabで書いてたりする

*13:ここを注意深く見ていくと、これまでに見たこともない行動経済学的な深淵に突入していく気がしてるところ

*14:僕個人の実体験でもあります(笑)

*15:だったら取り上げるなよ!というツッコミは勘弁。だって、ここで挙げる本が少なかったら説得力ないし。。。

*16:デフォルトパッケージだけではなくて、NumPy / SciPy / Scikit-learn / CVXOPT / Orange / MeCab / CaboCha...