民泊サービスの宿泊料金予測

一泊の適正価格はいくら?

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

3rd Place Solution

今回のソリューションは@yuuuukiさん、@Oreginさん、@yshr10icさん、@BellTree_0110さんの
トピックを大きく参考にさせていただいています。みなさまありがとうございました。

下記特徴量のうち特に効いたのは、ターゲットエンコーディング、テキスト系と外れ値です。

使用モデル

lightgbm×2

特徴量

日付系

number_of_reviewsとreviews_per_monthを使用し、
・最後のレビューから何か月経っているか
・掲載日
・次回予約されそうな時期
の作成

位置情報系

・混合ベイズガウスモデルによるエリア特徴量の作成
・最寄り駅数
・徒歩を含めた特定駅への所要時間

テキスト系

nameに対して
・tfidf ngram1,2 min_df=20
・上記をSVDしたもの
・huggingfaceを用いた埋め込み表現をSVDしたもの
・BERTからの埋め込み表現をPCAしたもの
※bag of wordsで多かった単語を確認し、(people,minutes,station等)表記ゆれを直しています。

外れ値予測

各roomtype毎の第三四分位+IQR*1.5を外れ値とし、外れ値予測モデルを作成(特徴量は本体のモデルと同一)
予測値を本体のモデルのインプットの一つとしました。
(auc: 0.7914 pr: 0.4422)

ターゲットエンコーディング

位置特徴量中心にavailability_365・last_review等、入れるべきか微妙な特徴量もすべて入れています。
また、smoothingを実施しています。
他に@Oreginさんのターゲットエンコーディング組み合わせ関数をそのまま使用しています。
(なんで二乗したり対数取ったりされたのか、それが勘なのか実験の結果なのか気になっています笑)

バリデーション

StratifiedGroupKFold
層:area*roomtype
グループ:hostid

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