Kaggle Master になりました。

概要

kaggleを始めて1年と少しが経ち、IEEEコンペで金メダルをとり目標としていたKaggle Masterとなりました。その期間の振り返りを記録しておきます。ぽえむです。

 

Kaggleを始めたきっかけ

SIerに入社し2年くらいExcelかいたりコードかいたりして飽きてきて、学生時代にやっていた機械学習にもう一度挑戦してみたいと思ったのがきっかけでした。某D社のKaggle社内ランク制度を見てKaggleの存在を知り、その日にHomeCreditを始めました。当時はExpertってめっちゃ強いんだろうなって想像していました。(虐げられていることを知らずに)

 

HomeCredit ( 2018年5~8月 )

・できるようになったこと

 1.Kernelを読む。使う

 2.特徴量生成→モデル作成→サブミット

初コンペでした。Kernelを読んだり、日本語のKaggle記事を読んだりしながら特徴量の作り方やモデルの作り方などを学びました。EDAとかは全くできていなくてデータの特徴みたいなのは何も理解できていなかったように思います。。

Kernelの特徴量組み合わせたりしてPublicは銀圏なるも大きくShakeDownして初の銅メダルに終わりました。

HomeCreditからKaggle始めた人を自分の中でKaggle同期と勝手に呼んでます。

 

塩・船コンペ ( 2018年~11月 )

https://highgradetoppo.hatenablog.com/entry/2018/11/18/110726

https://highgradetoppo.hatenablog.com/entry/2018/11/18/132254

・できるようになったこと

 1.Keras,Pytorchをコピペして動かせるようになる

 2.Discussionを読む。

 3.チーム名を変えてリーダーボードの表示を変える。

 4.GPUを使って部屋を暖める。

ディープラーニングしてみたいという思いもあり画像コンペに挑戦していました。ゲーミングPC兼機械学習用のローカルマシンで部屋を暖めていました。塩コンペ終わった後、Kaggle同期のくるぴーさんが主催するもくもく会に参加して関西Kagglerの方々と知り合いました。船コンペでなんとか銅メダルを取得するもまだまだわからないことだらけなのでまた画像挑戦してみたい。

 

Malware・Santander ( 2018年12月~2019年4月 )

・できるようになったこと

 1.データを見て効きそうな特徴量の仮説をたてる。

 2.問題に対して適切なバリデーションを考える。

 3.過去コンペを参考に特徴量を生成

当時の記録が全然なくてうろ覚えです。Malwareは運がよかったこともありShakeに振り回されずに銀メダル、Santanderはコンペ終了間近でMagic Featureを発見できて銀メダルを獲得できました。

この辺からテーブルコンペをどう進めればいいのか理解できてきたように思います。

 

土地コンペ ( 2019年6~8月 )

https://highgradetoppo.hatenablog.com/entry/2019/08/21/220333

SIGNATEの土地コンペに出て2位で初めての賞金を手に入れました。

atmaCupに出たのもこの時期。次回atmaCupは2019/11/23

https://atma.connpass.com/event/150223/

 

IEEE ( 2019年8~10月 )

・できるようになったこと

 1.チームでの進め方を学ぶ。

 2.ボーダーコリーより賢くなる。

くるぴーさん視点:http://kurupical.hatenablog.com/entry/2019/10/05/172615

Solution:https://www.kaggle.com/c/ieee-fraud-detection/discussion/111489

atmaCup懇親会でチームマージしました。関西Expert以下で頑張る会。

チームメイトが個人特定のIDに気づき、序盤から金圏へ。そのままなんとかリードを保ったまま19位でフィニッシュ。初の金メダルを手に入れKaggle Masterになりました。

個人では、序盤全然成果がだせず最終的に自分のモデル単体ではPrivate:40位相当くらいの結果でした。各メンバーもシングルモデルでは金圏に届いていなかったように思うのでチームの多様性の強さを感じました。

一方で、1位の解法を見ていると全然気づけていなかったことや試してすらいない手法があり、自分自身の力不足を体感しました。

自分のチームへの貢献で一番大きかったことは、結果がでたあとにチーム名を変更したことでした。「クソザコやねん」→「クソザコちゃうねん」

 

これから何するの

今年はソロで銀2枚、チームで金1枚、SIGNATEでは2位という結果を出せました。少なくともテーブルコンペにおいてはそれなりの結果が出せることは示せたと思います。

しかし、実力不足を感じる部分もまだまだあり、継続してコンペへの参加や学習を続けていきたいとは思っています。今後は以下のことに取り組んでいければと思っています。

・テーブルコンペ以外でソロ銀orチーム金を取得

・ソロ金を取得

・コードの整理、コミュニティへの貢献

 

キャリア的なお話

話が変わりますが、JTC Kagglerの方々が結果を出して転職したりしているのを見て、今後のキャリアも少しずつ考え始めています。新卒でSIerに入って4年近くだらだら働いていますが、最近はレガシーなシステムの保守ばかりで学ぶことがなくなってきたという現状があります。また、業務時間外の独学だけでは他のKagglerやデータサイエンティストと呼ばれる方々の学習量についていくのもなかなか厳しいなと感じ始めています。ただ、業務としてデータを扱うことがほぼ未経験な自分が業務で何ができるのか何がしたいのかまだ整理しきれていない部分もあるので、まずはKaggleで学んだことを活かして何か作りたいなとぼんやり考えています。

 

以上です。コミュニティに貢献してきたKagglerの方々にはほんとうに感謝しかないです。次回のKaggle Meetupの参加権を得た?ので楽しみにしています。ありがとうございました。