まだタイトルない

アウトプット用です

Kaggle Days Championship Tokyo で優勝しました!

こんにちは

先日行われた Kaggle Days Championship Tokyoに参加してきました。

参加はyukiさん、kutoさん、sqrt4kaidoさんとの4人チームです。

結果は83チーム中で優勝することができました。

おそらくこれでバルセロナのFINALイベントに参加できることになると思います。スペインは行ったことのない国でとても楽しみです。(無事現地に行けたらいいな

ちょっとタスクに触れる

ソリューションはコチラに、私が使ったノートはコチラに公開されています。

今回のタスクはD1からD10のそれぞれ内容が異なるデータテーブルが与えられ、そのテーブル内の欠損値を埋めるというものでした。

所謂imputingというタスクで sklearn にも KNNImputer というものが用意されているみたいです。今回のコンペが終わってから知りました。

csvが10個と見なきゃいけないデータが10種類なので、モデル数も多くなることが想定され4人で分担して進めました。この進め方に関しては後から他チームの公開したノートを見ると10個のデータすべてに対して動くパイプラインを作るという進め方がありました。

何れにせよまだこの4時間コンペ3回目ですがデータ見る時間がたりなさすぎでは?と言うのはちょっと気になりました。

さて、私の担当はD3で、まずはA列を予測するLightGBMベースラインを作成しました。作ったところ精度が芳しくなくかなり焦りました。

A列を見てみると1行目から最後の行まで値が上昇し続けていたためこの列に関しては前後の値を使ってfillすることに決定。同時にほかのカラムについて調べるとsortされてはいなさそうだったのでそのままLightGBMで予測しました。(B列以降はscoreもよさそうだったので一安心。

カテゴリ列はかなりの不均衡だったので予測でなく頻度の高いほうで埋めるだけにしました。ここまでで時間は少なくなってたので残りの時間でできるだけD9を学習/予測しました。

提出は各々予測したものをベースラインに組み込んでどれくらいスコアが変わるか観察という感じでした。

今回は分担しましたが一つのデータに対してあれこれ議論しながら進めるコンペが楽しみです!

おわりに

最近やっと準備したテーブルデータに対するLightGBMのパイプラインがあったおかげで比較的サクサク進みましたが、それでも各所でコードは調べながらやっていました。調べる回数が減らせるようにもっと頑張っていきたいです。
まだKaggle Days Championship は何回かあるのでできるだけ参加していい成績をとれるように頑張ります!