Re:不動産取引価格予測

評価指標をRMSLEと改めて開催します

賞金: 100,000 参加ユーザー数: 297 4年以上前に終了

5th Place Solution

はじめに

今回probspaceでは初めてのコンペの参加でしたが、CV、LBがマッチしていて楽しく取り組めるコンペでした。
5位ならsolusion公開しても格好がつくかなと思い、初めて書きます。至らない点も多いと思いますが少しでも参考にしていただけると嬉しいです

foldについて

まずはfoldの切り方についてです。
今回は単純にn_splits=5のKFoldと取引時点をgroupsにしたGroupKFoldを使いました。
train、testが時系列で別れていたのと、取引時期において不動産の取引価格は変動するというドメインからGroupKFoldも試しました。
KFoldでもCVとLBはちゃんと相関していたので問題なかったと思いますがGroupKFoldにするとLBのスコアはあまり変わらないけれどCVは悪化していたので、KFoldのほうがもしかしたらCVを過大評価しているのかもしれないと考えました。
ただ、LBのスコアはKFoldのほうがよかったので最終的にはどちらも使って(特徴量作成、モデリングともに)、最終的にアンサンブルする方針にしました。

モデルについて

モデルにはLightGBM、catboost、xgboostを使いました。
各モデルともにKFoldとGroupKFoldのものをつくったので最終的には6モデルを使ってstackingしました。

特徴量について

  • カテゴリカル特徴量のエンコードはターゲットエンコーディングを使いました
  • ターゲットエンコーディングを用いたので特徴量もKFoldとGroupKFold用に分けました
  • baseline作成後に効いたのは、市区町村名、地区名それぞれでgroupbyして、建ぺい率、容積率、面積の集計特徴量でした
    • 地区ごとの建ぺい率の平均を加えたときに手応えを感じました
    • 住宅地の密集さなどでその地区の特徴を入れれたかなという気持ちです
  • 面積×建ぺい率や面積×容積率、また接道義務などのドメインも特徴量として加えましたが、これらは効かなかったです(使い方が悪かったのかも)

最後に

うまく組み込めたドメインもあれば、うまく組み込めなかったドメインもありましたが、総合的には与えた特徴量に関してちゃんとスコアが返ってくる楽しいコンペでした。
個人的にもcatboostを初めて使ってみたり、ちゃんとstackingまで取り組めたので実りあるコンペになりました。
あと、不動産についていろいろ調べてたら広告が不動産だらけになりました。

Aws4 request&x amz signedheaders=host&x amz signature=70cba33f2b45364644fbce584c4b7e6a4b37dec859af64e7f1574172fb9da8d9
wakame

コンペお疲れさまでした! コンペ解法読ませていただきました、勉強になります。 解法について質問です、記載がなかったのですが公示価格データ(published_land_price.csv)は使われなかったのでしょうか。私の解法では市区町村名や最寄り駅名等でグルーピングして平均した公示価格の値が結構効いたので聞いてみました。

Aws4 request&x amz signedheaders=host&x amz signature=6bec23f5385b0a7ffc73c5a677b83644fd89f85e45c452f8f68ba92ddd9b088a
tenajima

ご質問ありがとうございます。wakameさんもコンペお疲れ様でした。(ライブラリまで作ってしまうのすごいです!)
公示価格データはトピックを参考にして市区町村名と取引時点の年数ごとの地価のみ使いました。
publised_land_price.csvのデータの理解を深くしていなかったのであまり使えなかったのですが、けっこう効いたのですね...
勉強になります、ありがとうございます!

Favicon
new user
コメントするには 新規登録 もしくは ログイン が必要です。