Kaggle 初心者が Home Credit の問題を取り組むために実施したこと
https://gyazo.com/06b667947c138a377369558f8fd27549
はじめに
とある理由から、 Kaggle の Home Credit Default Risk の問題に取り組むことになりました。
Kaggle 自体は過去にいくつか問題に取り組みましたが、今回の問題は今までの中で最もデータの数が多く、どうして良いか分からない状態になってしまいました。
そのため、振り返りをかねて、参考にした記事などを記載したいと思います。
EDA のためにデータの整理
人気記事である、こちらの記事を参考に、 EDA (探索的データ解析)を実施しました。
Home Credit : Complete EDA + Feature Importance
なお、日本語に翻訳してくださった方もいらっしゃるそうで、こちらを参考にしても良いかと思います。
Home Credit : Complete EDA(日本語訳)
特に「何をして良いか分からない」状態の時は、こういった地道にデータの特性を可視化していくことが重要だと分かりました。
トップランカーの Karnel を真似してみる
それでもどうして良いか分からない状態だったので、ヒントを探してググっていたところ、下記の記事を見つけました。
KaggleのHome Credit Default Risk体験(他人のKernelパクリ編)
Kaggle のトップランカーの Karnel は公開されているので、そちらを参考にすると良いという発想を得ました。
今回の問題でも以下のリンクから確認することが可能です。
https://www.kaggle.com/c/home-credit-default-risk/notebooks
こちらの記事でも紹介されていた、 LightGBM について興味がでたので調べてみることにしました。
LightGBM
Microsoft がリリースした、決定木、勾配ブースティング、モデルのアンサンブルを実施する機械学習のフレームワークのことです。
Welcome to LightGBM’s documentation!
LightGBM 徹底入門 – LightGBMの使い方や仕組み、XGBoostとの違いについて
論文もみることができるようです。
LightGBM: A Highly Efficient Gradient Boosting Decision Tree
使用すること自体はかなり簡単で、データセットを食わせればそれっぽい結果がでます。
これにより、要素の重要度を可視化することができたので、以降進めるに当たって大いに参考になりました。
こちらの記事が分かりやすく、そもそもの題材が興味深かったです。
バルセロナのゴール期待値をLightGBMで予測する【バルサxG モデル構築編】
(余談ですが、メッシは今でも私の中でスーパーエースです。)
Google Colaboratory や Kaggle の Notebook を使うのであれば、そのまま LightGBM を使用できるようですが、自分で環境構築をしている場合は、 CMake をインストールした上でコードをコンパイルしないといけないので少し面倒かもしれません。
Installation Guide
手前味噌ですが、私の Docker イメージの方は使用できる状態にしたので参考にしてください。
さいごに
今回の問題は大変でしたが、上記までの通り、多くのことを学ぶことができ、また多くのことを分かっていなかったことも気付きました。
個人的には、 Pandas の agg メソッド や大量のデータセットをリレーションする方法は、「こういうことやれたらなぁ」と思っていたところだったので、今度色々試して記事にしたいと思います。
#ml
#kaggle