見出し画像

ガチ初心者が4年かけてKaggle Expertになるまでにやったこと

はじめに

Kaggleは世界規模のデータサイエンスコンペティションに参加できるプラットフォームです。4年前にKaggleを知ったものの「英語怖い、プログラミング触ったことない、統計や機械学習ってなに」とわからないことだらけでした。

私と同じようにKaggle興味ある・頑張りたいなと思っている方の参考になればうれしいと思い、体験談の1つとしてこちらの記事に残します。

こんな方のお役に立てれば幸いです
Kaggleに興味がある、始めてみたい
タイタニックからなかなか次に進めない
なんならタイタニックもよくわからない

タイトルの通りですが、Kaggleに登録してから4年後にkaggle Expertになりました。ただ、Competitions ExpertじゃなくてNotebooks Expertです。

Joined 4 years ago!!!!

※ 一般的に「Kaggle Expert」はメダル対象のコンペで銅メダル以上を2つ獲得したConpetitions Expertを指します。釣りタイトルです、ごめんなさい。

え、「Expertって種類があるの?詳しく教えて」という方にはこちらの記事がおすすめです。

スタート時点の自分

さて僕がKaggleを知ったのは、約4年前に地方公務員からベンチャー企業へ転職したときです。

「データサイエンスかっこいい、なりたい!」と思い(今思えば)特に勉強もしていない状態で、現職のデータサイエンス部の方にカジュアル面談をしていただきました。そこで「kaggleやりなよ」と言われたのが出会いです。

けれど、「データサイエンス」や「プログラミング」とは縁遠い出自で、kaggleを始める基礎もないような状態でした。

学習パートとしては大きく3部構成です。

  1. とにかくやってみる期(2020.1-2021.3)

  2. 修士(経済学)への進学期(2021.4-2024.3)

  3. "データサイエンス"頑張る期(2023.11-2024.4)

とにかくやってみる期

思い返すとこの時期は、「やりたい」という気持ちが先行していました。

1. ProgateでPython基礎
2. 以下の業務を担当
  複数のExcelファイルを加工して、フォーマット通りの報告書を作成するプログラムを作成
  BIツールでダッシュボード作成(ノーコードでぽちぽちする)
3. 会社での勉強会に参加する

会社のデータサイエンティストが勉強会を主催してくれていたこともあり、この時期に学習したコンテンツは良いものばかりです!!
けれども、点と点が線でつながらず、ひたすらに点を集めていていたように感じられます。

なにがわからなかったんだろう。。

結果、職場のデータサイエンティストを含む院卒者と自分とでは「見えている景色が異なる」と感じるようになり、大学院への進学を決めました。

思い立ったのがたまたま出願期限の1週間前で、慌てて出願しました。

修士(経済学)への進学期

さて、大学院に行って正解だったか?と聞かれれば大正解だったと答えますが、いろんなモノサシに溺れた3年間でした。

1. 大学院
様々な授業や本を通じて、経済学を勉強する
修士論文を書き、無事に卒業する
2. 仕事
KPI設計やインパクト分析を行う
伝える力が上がった(miroやパワポでの作図、notionやesaならmermaidを使って図式化する)

マクロ経済学では「経済発展のためになにが必要か」を学び、計量経済学では「施策が効果的だったと言えるかを調べる方法」を学びました。

研究テーマは「顧客満足度と自己効力感」で、分野で言うと経営学と心理学でした。顧客満足度は、消費者が製品やサービスに対してどのように感じるか、その期待がどの程度満たされたかに焦点を当てる経営学の分野で、自己効力感は個人が自身の能力をどの程度信じているかを測定する心理学の概念です。

さらに会社では、同僚のほとんどの方が医療系であり、憧れの”データサイエンティスト”には機械学習やエンジニアの印象を強くもっていました。

大学院で勉強していることとそれらの違いを言語化できず、溺れていました。

学問ごとに解決したい課題や達成したいゴールが異なるため、結果として必要な手法や文化も異なる、と今は考えています。

ブレイクスルーのきっかけは「修士論文を書ききること」を目的に置いたことです。必要な知識が明確になり学習効率が上がりました。

大学院で学んだことは、「ローマの道も一歩から」でした。

ちなみに、この時期は「経営企画/データアナリスト」のポジションがカッコいいなあと感じていました。

出前館の経営企画/データアナリスト
デジタル庁の経営企画 ビジネスアナリスト

これらは客観的データを基に論理的な戦略や方針を提案するポジションで、必須要件はSQLを含むデータ分析、KPI設計、プロジェクト推進力です。

管理会計、KPIがタイトルに含まれる本をたくさん読みました。あとSQLBoltを答えを暗記するレベルで毎日やっていました。

AIまわりでは、東京大学松尾研究所主催のGCIを修了しています(たしか2022summer)。この講座は、とてもわかりやすく参加資格が合うようでしたらかなりおすすめです。

"データサイエンス"頑張る期

大学院の卒業が見えてきた頃から、"データサイエンス"の学習を再開しました。

1. 資格取得(基本情報、統計検定2級)
2. 個人開発(スクレイピングと機械学習を含む)
3. Kaggle, SIGNATEのコンペ参加

とはいえ、"データサイエンス"の解像度が粗く、なにに対して憧れを抱いているのかわかっていませんでした。例えるなら、どんなローマを作りたいのかがわかっていない状態でした。

この原因が「データ系の各職種が実際に行なっている業務・プロセスへの理解が足りないから」と考え、まずはプロダクト開発をやってみることにしました。

具体的には、個人開発したWebアプリをpythonanywhereでデプロイしました。

個人開発したWebアプリは、スクレイピングした賃貸情報(住所や間取り、家賃など)リストに対して「借りたい〜10000円安ければ借りたい」というどのくらい借りたいかを登録できる機能を持っています。今後、他のユーザーによって登録されたどのくらい借りたいかのデータと機械学習を用いて、物件価値を予測・表示できるようにする予定です。

Webアプリは現在非公開としていますが、コードはGitHubで公開しています。

個人開発したWebアプリのシステム構成図

このWebアプリ開発は着手してからデプロイまで2~4週間ほどかかりましたが、「修論に比べれば楽勝」という気持ちでした。

今考えている、各職種の位置付け

データサイエンス憧れから始まり、データアナリストをベンチマークし、個人開発を経験することで、データ系職種の役割分担への腹落ちができるようになりました。

そのうえで自分には「機械学習や統計、アルゴリズムを使いたい」と「意思決定支援のほうが好きだが、プロダクト開発にも関心がある」ことがわかりました。

だとしたら機械学習やるしかないわ、と2024年2月下旬ごろからKaggleに向き合い始めました。 

それから約2ヶ月間での成果としては、大きく2つです。

1. 初心者の中では上位になれるようになった。
初心者向けの住宅価格を予測するコンペでは上位6.1%、Playgroundのアワビの年齢を予測するコンペでは上位2.2%にランクインしています(執筆時点)。
2. Notebooks Expertになった。
自分で書いたコードを公開し、一定以上の「いいね!」がもらえるとメダルが獲得できまして、そのメダルを5つ集めるとNotebooks Expertになれます。

おわりに

さて、kaggleを知ったときは「英語怖い、プログラミング触ったことない、統計や機械学習ってなに」という状態でした。ですがこの数年間で、「英語の論文読める、プログラムちょっとかける、統計と機械学習ちょっとわかる」状態になれました。

次はコンペメダルが目標です。

今のところすごく楽しく取り組めています。
他の方も楽しんでKaggle生活を送れますように!

この記事が気に入ったらサポートをしてみませんか?