Kaggle を始めて半年経って個人的に得たもの

· 11min · Masataka Kashiwagi

Kaggle を始めて半年ほど経ち,個人的にこの半年で得たものを整理するという意味で「kaggle その2 Advent Calendar 2019」の20日目を担当する.

簡単な自己紹介として,普段は都内のベンチャー企業で主に製造業のお客さんを相手にデータ分析の仕事と自社製品の開発を8:2ぐらいの割合で仕事をしている.

実は JTC から転職して今の会社は2社目で,働いて2年弱になる.ちなみに前職の JTC では,マーケティングオートメーションツール導入などの SE 的なことをしていた.なので,以前からバリバリデータサイエンスをしていたわけではない笑

Kaggle は転職した時ぐらいから知って,すぐやり始めたいと思っていたが,色々と仕事プライベート共に余裕が無くて満を辞して半年ほど前から本格的に参加し始めた!

Kaggle を始めて得たもの

今回はそんな半年ほど前から Kaggle を始めて得たものとして大きく3つあり,それについて書いていく.

  1. データサイエンス関連の知識
  2. 実務へのフィードバック
  3. 人との繋がり

1. データサイエンス関連の知識

よく言われていることだが,Kaggle は宝の山であり世界中のデータサイエンティスト・機械学習エンジニアの知恵や情報が特にコードレベルで共有されているのが魅力の一つ.掘れば掘るほど色々と出て来るので,これを活用しない手はないなという印象を持っている.

その中でも,特に個人的に得て良かった知見としては以下の4つかなと思う.

1つ目は,

  • 特徴量エンジニアリング
    • ドメイン知識に基づく特徴量エンジニアリングが有効であることはもちろん知っていたが,それを作る発想であったり組み立て方が非常に勉強になっている.
    • また関連して,どの単位で集約した特徴量を作るか,カテゴリカルデータやカウントデータの扱い,エンコーディングの仕方であったりと特徴量の作り方は非常に参考になっている.

2つ目は,

これを意識して良かったこととしては...

  • 特徴量の管理が楽になる
  • 試行錯誤した結果をログという形で後から確認できる
  • 結果の再現性も容易になる
  • 計算回した後は寝てられる笑

他にも色々と良いことはあるので,是非オススメしたい!後々の再利用のためにも整理しておくと,一から全てを作り出さなくても良いので,有用に思う.

3つ目は,

  • バリデーションの重要性
    • モデルの汎化性能を考える上では大事な要素で,Kaggle では特に pubulic LB で上位に入っていても,バリデーション対策を行わないと private LB で大きく shake down してしまう結果になることがよく?あるのかなという印象.
      • 学習データの結果が良くてもテストデータで全然良くないとなると使い物にならないので、この辺りは実務でも活きてくる.運用段階で全然使えないモデルが出来上がるのを回避できる方法の1つ.

4つ目は,

  • NN をテーブルデータで使う方法
    • Neural Network は画像認識の領域で使われているが,それをテーブルデータに使う方法が Kaggle では見かける.
      • テーブルコンペでは,GBDT 系のアルゴリズムの方がまだまだ精度的には良いが,モデルの多様性や特徴量抽出の自動化的な部分で NN モデルも十分に活用できる.
    • この辺りはもっと kernel などで理解して自分の武器にしていきたい.ただ,前までは選択肢にもなかった気がするので.様々な手法を見た結果得られた知見かなと.

2. 実務へのフィードバック

Kaggle で実施する内容と実務での内容が必ずしも直結するわけではないが,分析スキルの向上は実務でも大きく活きている.

例えば,実務でデータ受領後,EDA を進める中でデータの勘所を掴むのが以前より早くなったのと,何をどうすれば良いかを掴むのが以前よりスピードが上がったと感じる.それによって,案件を進めていくスピードが上がったので,色々と試行錯誤できる時間を確保できるようになったと思う.

また,Kaggle で有効な手法を製品へフィードバックすることも進めているので,自分自身だけでなく会社へも還元できつつあるのかなと.

一方で Kaggle が楽しすぎて,仕事中でもコンペのことが気になって手を動かしたくなったり,休日だいたい費やしてるので出不精になったりしている笑

Twitter でも書いたが,良くも悪くも世界中の人たちと競い合って評価されるので,負けたくない精神は会社でも発揮される!

人との繋がり

Kaggle を始めてから,もくもく会や勉強会に参加する頻度が増えた.大体最後には懇親会があるので,コンペの話や仕事の話で盛り上がって色々と情報交換が出来ていて楽しい限りだ.

あとは,コンペ終了後の反省会に参加することでコンペでの苦しみなどを共有できるのも良いコミュニティーだなと感じる.そういった場で社内以外のデータサイエンティスト・機械学習エンジニアの方々とお話しできるのは非常に良い刺激になっている.自分が知らないことを知ってる人がめっちゃいるので,勉強になりまくっている.

前々から社外での繋がりを増やしたいと思ってたところで Kaggle という共通の話題があり,比較的話がしやすい環境ができて Kaggle 様様です.もっと Kaggle での繋がりを増やして,お互い切磋琢磨できる環境に持っていきたい.


まだまだ半年しか経っていないが,濃い経験や知見を Kaggle を通して得られているので,これからも継続していきたい!

人との繋がり的には,もう少し仕事面でも色々と相談できる関係性を作って,どんなことをやっててどうゆう課題や問題意識があるかとか聞いてみたい.

あとは幸いにも,勉強会で知り合った方とコンペでチームを組んで頂けるようになり,次はチームで参加する楽しみも味わう!

最後に Kaggle では、まさに以下の話を体現できるのではと思っている!

頭で理屈をわかったところで,体感を伴わない知識は活用できない(ハリガネサービス)

P.S. DSB コンペでメダルを獲得する!


このエントリーをはてなブックマークに追加

ブログ記事を読んで頂き,ありがとうございます!もしこの記事が良かったり参考になったら,「Buy me a coffee」ボタンから☕一杯をサポートして頂けるとモチベーションが上がります!どうぞよろしくお願いします🤩