12nd Place Solution(by Oregin)

1.はじめに

民泊サービスの宿泊料金予測コンペの12位解法を投稿させていただきます。

ProbSpaceの運営の皆様、共にコンペに参加し、研鑽させていただきました参加者の皆様に感謝を申し上げます。
毎回、コンペを楽しませていただきながら、色々と学ばせていただいています。
以下のブログにも全体像の図解等を掲載いたしましたので、必要に応じてご参照ください。

【12位解法】Probspace開催「民泊サービスの宿泊料金予測」の振り返り。 (https://oregin-ai.hatenablog.com/entry/2022/05/24/170000)

2.前処理

前処理については、トピックに掲載されているshirapon24さんの「初心者用サンプルコード」(https://comp.probspace.com/competitions/bnb_price/discussions/shirapon24-Post3f95b787ed193b5e17e5) と、columbia2131さんの「tf-idfを用いたnameの埋め込み」(https://comp.probspace.com/competitions/bnb_price/discussions/columbia2131-Post6d7136cf971cac0abaad) を参考にさせていただき、以下の処理を実施しました。

【前処理】

  • name
    • TfidfVectorizerでベクトル化した後、TruncatedSVD,NMFを用いて次元数削減
    • ラベルエンコーディング
    • カウントエンコーディング
  • neighborhood
    • ラベルエンコーディング
    • カウントエンコーディング
  • room_type
    • ワンホットエンコーディング
  • last_review
    • 日付データを以下の項目に分割。
      • 曜日
      • yymmdd形式の年月日

3.モデル構築

モデルは異なるパラメタの4つのLGBMRegressorで学習させ、それぞれの予測値の平均をとって最終提出としました。
また、交差検証はラベルエンコーディングした【name】をもとにした、GroupKFoldで実施しました。
このモデルで提出したファイルで、最終スコア:0.72905 となり、全体で12位で、銀🏆圏内に入ることができました。

4.感想

今回のコンペは、民泊の様々な特徴量から価格を予測するというオーソドックスな回帰の課題がテーマでした。

年度末・年度始めでバタバタしていて、基本的なモデルとしてはLGBMしか試せなかったのですが、NNなど他のモデルでも取り組むことで、もう少し改善できたのではないかと考えています。

また、緯度経度などの情報からどのあたりの宿泊施設かわかるので、位置的な情報も、もう少し活用することで改善できたのかもと思いました。

次回コンペでは、じっくりと腰を据えて取り組みたいと思います。

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