~第1章~ 激闘! Home Credit 編

(前回までのあらすじ)
hmdhmdは、街コンコンペで惨敗した分際で「俺より強い奴に会いに行く」とタンカを切ったが…

私はついに、kaggleで世界と闘うことを決めました。ちょうどその時に開催されていたのがHome Credit Default Risk です。

結果として、このコンペに参加できたことが非常に良い経験となりました。kaggleに関する基本的なことはすべて、ここから学べたと思っています。

コンペの内容としては、顧客の属性情報や過去のサービス利用状況から、将来支払いが遅延するか否かを予測する、というものでした。
実際の現場で運用されるイメージも湧くので、そういう意味でもとっつきやすい内容です。

コンペ前半

kaggleで最初に驚いたことは、kernelやdiscussionで参加者が惜しげもなくソースコードや考えを投稿していることでした

とにかく片っ端から目を通して、kernelを写経するところから私のkaggle lifeが始まりました

ランダムフォレストが進化(?)した勾配ブースティングが主流になっていることを知り、自分が浦島太郎状態であったことを実感しました

コンペ中盤

特徴量をいかに増やしていくかを考えていました。過去に支払いが遅れたことがあるか、年齢と他の属性情報との相互作用はどうか、など…

このあたりで、pandasの扱いには、かなり慣れることができました。また、ドメイン知識を得るために闇金ウシジマくん(*1)を読んだりしました。

コンペ後半

アンサンブルという概念を初めて知りました。KAGGLE ENSEMBLING GUIDE に詳しく書かれています。また、Twitter上で他の日本人kagglerの方々の頑張りを観測することで、モチベーションに追い込みがかかりました。

結果

7,198チーム中40位 という、実力以上の結果が出てびっくりしました。しかし最上位のチームとは大きな差があり、「いったいどうやればそんなスコアが出るんだろうか」と思っていたところ、なんとdiscussionに各チームが解法を書いてくれているではないですか。これこそ、何がわからないのかわからないところを埋めることができる重要な要素です。

さらに、late submissionという、コンペ後なら無制限にサブミットできるありがたいシステムがあったので、「上位の解法を自分のモデルに適用していたらどうなっていたか」を確かめていきました。金メダルのスコアが出るまでlate submissionしたことで、大きなアイデアを1つ思いつけなかったことがわかり、大いに反省しました。

まとめ

私にとって最初のkaggleコンペは、とても学びの大きいもので、さらに銀メダルという結果も得ることができました。同時に開催されていたSantanderコンペでも棚ぼた銀メダル(*2)を獲得することができ、合わせて銀メダル2枚。あとは金メダル1枚で、条件を満たしてkaggle masterになることができます。「あれ?意外と楽勝なのでは…?」と、完全に調子に乗っていた私に天罰がくだることになるとは、このとき知る由もなかったのです。

hmdhmdは
・データ処理
・特徴生成
・クロスバリデーション
・勾配ブースティングによるモデリング
・アンサンブル
の知識を手に入れた!
・late submissionの重要性を認識した!
・銀メダル2枚を手に入れた!
・hmdhmdは調子に乗った!

次回 ~第2章~ 絶望! Rコンペ 編 に続く

*1 名作です。個人的には、サラリーマンくん編が好きです。なお、これを読んだからスコアが上がったということはなさそうです

*2 本来は銅メダルだったのですが、上の人が何人かBANされたため、繰り上がり銀メダルとなったのでした

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