スポンサーリンク

未経験からデータサイエンティスト転職するまでにやったこと

私は元々物理系の勉強をしていた学生で、プログラミングに関しては全くの素人でした。そんな私がどのようにしてデータサイエンティストとして転職を成功させたのか、書いていきます。

Pythonの勉強

書籍とYoutubeでPythonの書き方を勉強

まず最初にPythonをどうやって書くのか、基本的なfor文やif文の使い方などを勉強しました。ここで意識していたのは、何でもいいからとにかくコードを書いてみて、サンプルと同じ結果が出るか確認することです。特に複雑なことは考えず、「こんなもんなんだ」と思う程度に、気楽に勉強していました。

達成の目安は、書籍1冊のサンプルを読みながら自分で書き、全部同じ結果を出すことかな、と思います。

Kaggleでモデルの作り方を勉強

Pythonの書き方がわかったら、機械学習モデルの作り方を勉強しました。当時はランダムフォレストの作り方を知っていたくらいで、LightGBMとかニューラルネットとかはKaggleで学びました。

書籍でもある程度はモデルの作り方を勉強できますが、個人的にはKaggleでやってみることをお勧めします。
なぜかというと、

  • 書籍で使うデータがきれいすぎる(モデルに突っ込むだけでそれなりに精度が良い)
  • 前処理の技術、精度向上の技術も同時に学べる

からです。

書籍で分類系のモデルを作った場合、簡単なサンプルなら正解率90%超えくらいになります。しかし現実のデータでモデルを作ったら、さすがにここまで精度良くはなりません。Kaggleで扱うデータは現実で取得されたものがメインなので、簡単には高精度なモデルにならず、だからこそ工夫の余地があります。できるだけ現実に即したデータでモデルを組んだ方が、学べることが多いのです。

また「データのきれいさ」に類似した話ですが、モデルを学習させる前にはデータを正規化したり、外れ値を除去したりと、前処理をすることが多いです。前処理のスキルは現実のデータサイエンス業務にも必要なので、できるだけリアルなデータで経験を積んでおくことをおすすめします。

実績作り

実務未経験の人がいきなりデータサイエンティストになれるほど、現実は甘くありません。できるだけアピールポイントになる実績を積んでおくべきです。

Kaggleでメダルを取るまで勉強

  • データサイエンティストになるためには、実務経験が必要
  • データサイエンティストではないので、実務経験は積めない

という矛盾した状況を打破するために、Kaggleで実績を獲得することをおすすめします。私は当時、3年くらいかけて銀メダル持ちのExpertになりました。

目安としてはソロ参加で銅メダル2枚以上取得し、Expertになることが最低ラインかと思います。欲を言えばソロで銀メダル獲得経験があるとなお良しですが、これはあくまで手段であり、目的ではありません。なので、Expertになった時点で転職などに挑戦するのも良いと思います。

銅メダルを獲得できる人であれば、以下のスキルがあると思えます。

  • タスクに沿ったモデル構造を構築できる
  • 基本的な前処理ができ、学習と推論までの一連の流れを実装できる
  • 精度向上のために、画期的ではなくても、ベーシックな工夫を加えることができる

これくらいのスキルがあるなら、実務でもある程度の活躍が期待できますし、なにより転職活動などで話すネタを多く持つことができます。

社内異動を狙う

私の場合は、社内公募に手を挙げて、データサイエンス系の部署に異動しました。その際にKaggleの実績を話すことができ、かなりアピールポイントになったと思います。

やはりKaggleの経験だけで実務経験になるかと言えば、「部分的にはなる」という感覚が正しいかと思います。一定のスキルをアピールできるものの、現実を知らないところがネックになりますね。

この時点で「データサイエンティストになる」は達成できているようなものですが、「転職する」を目標にしているので、実績作りの1つとしています。

現実の業務では

  • モデルに学習させられるようなデータが少ない(ノイズが多い、データ数が少ない、など)
  • 現実の業務にモデルを使ってもらうには、信頼面などのハードルが高い
  • モデルを使う現場のメンバーとの認識合わせが超重要

といった、独学では絶対に経験できない問題に直面することになります。この辺りの実務経験があるなら、データサイエンティストとして転職できる可能性がかなり高まります。

転職活動

この時点での私のスペックは

  • Kaggle Expert(銅3枚, 銀2枚くらい)
  • 実務経験1年ちょっと

という感じでした。Pythonを勉強し始めてから3年くらいかかったと思います。注意点として、私が転職した時点での話なので、この記事が読まれている時に通用するかは保障できません。

転職活動時に意識したことは

  • モデル構築の経験を積めそうか(コンサルぽい業務ではないか、実装がメインの業務なのか)
  • 自分のスキルが通用しそうか

でした。

1点目を気にしていた理由は、データサイエンティストとコンサルタントは似て非なる業務だからです。コンサルタント業務になった場合、資料作成とか効果額の見積もりとか、導入後のイメージ説明とか、モデル実装とは離れた業務がメインになり得ます。この業務スキルは積んできていなかったので、ちゃんとモデル構築がメインの業務になるのかは念入りに確認していました。

2点目も重要です。あまりに背伸びした業務につくと、スキルが追い付かずに絶望することがあり得るからです。私の場合は、LLMの作成とかロボティクス関係とかは経験がなかったので、それらがメインの会社は避けていました。気にしすぎなくても、履歴書や面接の段階でミスマッチが起きそうですが。。。
自分が通用するかチェックする方法としておすすめなのは、ホームページの事例紹介やニュースレターを見て、どんなモデルを構築しているのか見ることです。「だいたいこんなことしてそうだな」ぐらいのイメージができるなら、入社してもミスマッチが少ないと思います。

まとめ

結局のところ、「いかにしてスキルをアピールするか」が重要であり、つまりは「いかにして実績を作るか」に集約されると思います。個人的にはKaggleをやるしかないと思いますが、もし社内公募があるなら、そちらに挑戦することもおすすめです。

この記事の執筆時点では、生成AIが台頭しており、データサイエンティストが不要になり始めています。しかしながら、機械学習モデルの作成においても、生成AIが出した答えが妥当なのか、その出力をどのようにブラッシュアップするかは、人の知識と判断にゆだねられていると感じます。

要するに、ちゃんと実績がアピールできるくらいの実力がある人材なら、まだまだ生成AIに代用されることはないと思っており、データサイエンティストになるハードルは上がっているものの、挑戦する価値はあると考えています。

以上!

コメント

タイトルとURLをコピーしました