こんにちわ、さとしです!
気がつけばこのデータサイエンティスト転職から、1年が経とうとしています。
今はご時世的に外にも出られず、変化があまりない生活を送ったせいもあってか、なんかあっという間に1年が過ぎ去っていきました。
-
【実体験】20代で未経験からデータサイエンティストに転職するまでの全記録
お疲れさまです! 久しぶりの更新になってしまいましたが、僕が未経験からデータサイエンティストになるまでの転職活動の全記録を書き残しておきたいと思います。 僕は博士号を取得後に研究員として仕事をしていま ...
思えば入社時からずっとリモートワークで1年間で4回くらいしか本社行ってないです。。。
このような生活をずっと続けていては、なぁなぁで10年くらい過ぎてしまうんじゃないかと心配になってしまうので、1年というちょうどいい区切りのタイミングで、この最初の1年間どんなことをやってどんなことを学んできたのか、振り返ってみたいと思います!
そしてこれからの学びに活かしていきたいです。
では早速、入社してからどんなことをやってきたか振り返ってみます。
データサイエンティストに転職して1年間で経験した仕事
僕は受託分析会社のデータサイエンティストなので、案件ごとにお客さんも異なるために内容がかなり異なってきます。
なので、今回は時系列でどんな案件にアサインされて、どんなことを経験したかを順に書いていきたいと思います。
1ヶ月:中途研修①
入社して1ヶ月目は中途研修でした。
新卒の研修はかなりちゃんとやる会社のようで、きっちり講師となる先輩社員が付いて合計3ヶ月くらいやるみたいですが、僕みたいな中途社員の研修はほぼ自習でしたw。
学習すべきカリキュラムだけ渡されて、あとは自分で時間割を作ってテキストを読んだり、オンライン学習動画を見たりしていたのを覚えています。
そして1週間に一回くらい先輩社員によるエクセル研修とかがありました。
僕自身は自習は好きで、むしろ研修で教えられるみたいなのは嫌いなもんですから、このスタイルはありがたかったですw
内容としては機械学習の基本、Pythonの基本、SQL、データベース、エクセル、時系列分析、Linuxなどなどだった気がします。
CourseraでAndrew Ng先生の講座を見たり、Udemyのコースも活用したりと、自習でちゃんとやれる感じになっていました。
ただ、Pythonを実際に自分でコーディングをあまりしなかったのでそれはよくなかったと反省しています。
その後、データサイエンス100本ノックをPythonでやってようやく少し使えるようになった気がしました。
あとはSQLをちゃんとできるようになっておけとのお達しがあったのですが、入社して1年経ってもまだSQLを使う案件と出会っていません。。。
まぁそれはいいとして、最近はSQLの入門書で相関サブクエリどまりの本が多く、残念に思っています。
先輩が言うには、With句やWindow関数を使えるようになってようやくスタートラインらしいので、これらをちゃんといれた入門書を誰か書いてほしいです。
というわけで、こんな感じで自由に自習をする1ヶ月目でした。
2ヶ月:中途研修②
2ヶ月目も中途研修の続きで、実践的な案件を模した模擬プロジェクトをやりました。
僕はこういう模擬案件みたいなのが大嫌いなので、正直テンションガタ落ちです。
もともとインターンとかでやるような模擬案件とか本当に嫌なのです。
早く案件にぶち込んでくれと思いましたが、仕方がない、やれと言われたらやります。
というわけで顧客を模した先輩にヒアリングをして、分析の設計をして、実際に分析して、プレゼンするという流れです。
まぁそれとなくやって2ヶ月目も終わったのでした。
ただ、模擬プロジェクトが終わってからの数日間でやったPythonのデータサイエンス100本ノックはとても役に立ちました!
3〜4ヶ月:クラウド環境における機械学習研修コンテンツ作成・研修実施
3ヶ月目からようやく実案件に入ることになりました。
ただし、まだサポートメンバーという立ち位置なので、「案件に入れていただいてお勉強させていただく」くらいのイメージでアサインされたんだと思っています。
案件は他社への研修コンテンツを作るというもので、僕が担当した内容は、クラウドの機械学習サービスを利用したモデリングでした。
僕は今までにクラウドを使った事もなければ、未経験での中途入社ですから機械学習もやったことないもんですから、他社への研修コンテンツを一から勉強して作るということになりました。
クラウドがなんたるかや、機械学習の流れとかを知るのにはちょうどよかったです。人に教えるものを作るのは自分の勉強になるなぁと痛感しました。
ただ、社内にクラウドの機械学習サービスに関する知見がなかったために、それの仕様なりを調べるのはかなり大変でした。
作業自体は研修用の模擬データを作って、シナリオを作って、モデリングし、評価する、というのをリーダーの元で繰り返すという感じです。
技術的な調査が終わったら最後は研修資料の作成です。
会社でのドキュメント作成にはいろいろな流儀があり、どんな手順で作っていくとか、構成・レイアウトはどうするとか、いろいろ決まっていますので早めにその流儀を心得ておくことが大切だと思いました。
最後は研修にもサポートメンバーとして参加しました。
4ヶ月:製造業の原材料の残量予測(お手伝い)
上記の研修資料作成案件と並行して少しだけ別案件の手伝いをしました。それが製造業向けの原材料の残量予測の案件です。
この案件ではデータの取得のために外部データをスクレイピングする必要があり、そのスクレイピング部分を私が少しだけお手伝いしました。
もちろん私はスクレイピングを勉強したことなどありませんから、1から勉強してやりました。
また、スクレイピングが無事できたからか、プラスしてモデリングもやりました。
ここで初めてLightGBMを知りました。
そして、エクセルでは扱えないくらいの大きめなデータを使っていたために、そういったデータの扱いも体験しました。
あとはサーバー上でJupyter notebookを使ったりとか、Pythonの仮想環境を使ったりでしょうか。
僕自身はあまり長い時間をかけない案件でしたが、所々で大事な技術を体験できた案件でした。
5〜6ヶ月:ベイズ統計による予測分類モデル構築
入社5ヶ月目でベイズ統計と出会うことになりました。
ベイズ統計は今まで勉強しようしようと思っておきながらも結局勉強してこなかったので、ちょうど良い機会になりました。
ただしこの案件は時間的・能力的にまぁまぁヘビーな案件だったので、僕としてはかなり印象に残っています。
というのも、まず期間がとても短く、1ヵ月で分析を終わらせるというものでした。
これは前任者が以前に分析案件をやっており、今回はその追加分析をするというものでした。
それだけ聞くと前任者が続けてやればいいのではと思うかもしれませんが、その前任者は退職してしまうため、手の空いた(?)僕に回ってきたわけです。
前任者が退職する2日前くらいにその事実を告げられ、1日でざっくりと引き継ぎを行い、案件に立ち向かうことになりました。。。
あまり褒められたスケジューリングではないですが、やるしかないので仕方ない、やるのです。
しかし、そもそも僕はこのときベイズ統計を知らないので、まず1週間でベイズ統計を学習し、その後の1ヵ月で案件を行うという流れに決まりました。
なのでゼロから必死こいてベイズ統計を勉強したのを覚えています。
案件ではベイズ統計の知識に加え、Dockerや仮想環境、クラウドの知識も必要で、このあたりでかなりつまずいたことが記憶に新しいです。
ベイズ統計のモデリングに関しては、簡単なモデルからスタートし、どんどん変数を増やしたり、階層ベイズをしたりなどして複雑にしていきました。
そして何とか1ヶ月間という短い納期で、ギリギリ分析結果はまとめて報告することができました。
今思うと、この案件で学ぶことはとても多かったですね。
Docker、Git、クラウドはちゃんと使えないといけないと実感しました。
あと、引継ぎは本当に大事です。本当に。
6〜7ヶ月:機械学習研修コンテンツ作成
また機械学習の研修コンテンツ作成案件にアサインされました。
前も同じような研修コンテンツを作る案件がありましたが、今回のは分析シナリオを用意して、問題と解答を作っていくという感じでした。
テーマ自体は先方からいただいていたので、それに沿って問題と解答をシナリオに沿って作成します。
技術としては信号解析の技術を使う必要があったので、久しぶりにフーリエ変換を勉強しました。
僕自身は研究の時にも信号解析の技術を使っていたので、久々に勉強ができてちょうどよかったなぁと思っています。
定期的にお客さんと話をしながら進め、スケジュール的にも厳しいものではなかったので精神的に良い状態で臨むことができました。
8ヶ月:Tableau学習
8ヶ月目はTableauを勉強することになりました。
これは分析案件ではなく、分析のための知識獲得ということで、Tableauを勉強し学んだことを資料に残すという感じでした。
TableauはBIツールとしてとても有名なツールですから、一度使ってみたかったこともありちょうどよかったです。
業務で勉強させてもらえるというありがたい機会だったので、ありがたくその機会を享受しておきました。
9〜10ヶ月:自然言語処理による文章分析
この案件では自然言語処理に携わることができました。
自然言語処理は日本語や英語のような言語を対象とした分析処理で、とてもニーズの高い分析です。
この案件ではフリーコメントを分析しどのような傾向があるかということを調査しました。
僕は途中から引き継ぎという形で入ったので、既にある程度進んでおり最後の部分を行うのみでした。
なので初期のPythonによる形態素解析やめんどくさいデータ加工などはすでに前任者がやってくれていたのでありがたかったです。
また今回の分析ではKHcoderというツールを使い、テキスト分析をしました。
KHcoderははじめましてだったのですが、とても便利なツールでかなり感動しました。
フリーではもったいないと思うくらいなので、これを読んだ方はぜひ使ってみてほしいです。
結局ぼくが業務で実践した事は大した事ないのですが、この案件を通じて自然言語処理がどんなものかなど学ぶことができました。
自然言語処理の知識は全然なかったので、いくつか本を買って勉強しました。
-
初学者が自然言語処理を学ぶためのおすすめ本・入門書5冊
この記事では初学者が自然言語処理を学ぶためのお勧めの書籍を5冊紹介したいと思います。 自然言語処理と言うと難しいイメージがあってとっつきにくい感じがするかと思います。でも大丈夫です! しっかりと本を選 ...
自然言語処理100本ノックにも自己学習で手をつけたので、それも勉強になりました。
興味がある方はやってみるとよいかと思います!
11〜12ヶ月:地理情報システム(GIS)データを使った技術調査
最後が緯度・経度の入った地理情報システム(GIS)と言うデータを使った案件です。
こちらは明確な分析目標などがない状態で始まったコンサル的案件なために、まず課題の整理や、データの調査、技術調査などを行いました。
というより現在進行中なので、あまり書くことはありません。
絶賛、業務上の課題整理、技術面で言えばAWS、PythonでのGISハンドリングなどなどを学習中です。
分析する、いい精度を出すというより、今はその上流部分、つまりどんな課題があって何をしたらよいかといったところの難しさを噛み締めているところです。
データサイエンティストにとって分析も大事ですが、この上流部分が非常に大切だと感じます。
これから経験したい事
以上が僕がデータサイエンティストに転職して1年目で経験したことになります。
こうしてまとめてみると幅広く経験させてもらえたなぁと感じてありがたい限りです。。。
ただ、業務は知らないことばかりだったので、けっこう自分で本を買って勉強していましたね。
転職して1年目で読んだ本については、こちらにまとめたので見てください!
-
データサイエンティストになってから1年間で読んだ本まとめ
データサイエンティストに転職して1年が経ち、いろいろな業務を経験させてもらいつつ、自分でもある程度本を読んできました。 仕事の話は下記の記事で書きましたが、自分で読んだ本については書いていないのでこの ...
もっと他にも経験したい事はあるので、これからも継続して自分で勉強しつつ案件も担当できたらいいなと思います!
具体的には、
・クラウド
・時系列分析
・マーケティング
・ディープラーニング
などやってみたいですね。
まだまだ日々学んでいきたいです!