日々の勉強の備忘録としてつらつら書いています

kfsky_blog

Solafuneコンペ「夜間光データから土地価格を予測」振り返り(15位)

こんにちは、kfskyです。
早速、機械学習コンペの話をしようと思い、過去コンペの振り返りを備忘録として書いていこうと思います。

今回は、2021/2/15〜4/5まで、衛星データに関するコンペティションプラットフォーム「Solafune」で開催されていた「夜間光データからの土地価格を予測」の振り返りをしたいと思います。
Solafune」では、衛星データに関するコンペティションプラットフォームとして、アジア初とのことらしく、今回を含めて2つのコンペティションが開催されています。

コンペ概要

各土地に関する夜間光のデータを元に、その価格を予測するといった回帰問題でした。与えられたデータとしては4つ(目的変数は除く)で僕のような初学者でも参加することのできるものでした。

解法

モデルの実装にあたって、mst8823さんの解法を参考を参考にさせていただきました。といっても、何も見ずにBaselineを投稿下後に、情報をまとめていらした方から飛んで
確認したところ似たよ うに実装をしていたという形です。(おそらくAtmaCup参加者かなと)そこから「ベースラインとしては問題なさそう」と思い特徴量などを増やして行ったという形です。

基本的な前処理などは、他の方がすでに情報共有しているとのことで、他の方との差を書いて見ました。
ソースはリンク先にあります。

前処理処理
キーに対しての統計特徴量合計で12の統計処理を実施(MeanLight", "SumLight", "Area"に対して)
("min", "max", "median", "mean", "std","var", max_min, q75_q25, q25, q50, q75)
lag特徴量同一のPlaceID内で、lag特徴量を作成(移動平均のような特徴量)
MeanLighet, SumLighetそれぞれで算出

モデル

今回は、LightGBM, CatBoost, XGBoostの3つのモデルで予測を行い、その平均(Blending)としました。(KFold=5)
Stackingや、Blendingのweightを調整などを考えましたが、publicにfitしすぎて、shake downするのを恐れて、今回は実施しませんでした。
特徴量のimportanceは以下のような形でした。

結果

public24位、private15と、shake upし、上位10%以内には入ることができました。


コンペティション終了後

終了後は、他の方が振り返りの記事を色々出していただいていたので、それを見ながら自分の取り組みとの差を確認していました。

u++さん、俺人さんが非常に参考になる記事を投稿されています。
(僕自身、日々参考にさせていただいております。ありがとうございます)

俺人さん
https://oregin-ai.hatenablog.com/

https://upura.hatenablog.com/entry/2021/05/01/000159

感想

このあたりから、コンペの時の自分の中のコーディングの流れ?のようなものができてきて、それをブラッシュアップしながらできた楽しいコンペティションでした。
また、「Solafune」は、情報を各自のメディアを利用して自由に公開できるルールとなっていたので、他の方からの情報も色々参考にしながら取り組めました。

最後に、運営の皆様や、参加者の皆様に心より御礼申し上げます。