Recruit Restaurant Visitor Forecasting上位陣解法まとめ

現在、編集中です・・・

# Recruit Restaurant Visitor Forecastingについて
文章構成は[こちら](https://qiita.com/daimonji-bucket/items/183c31233d184f4ddbca)を参考に書きました。
## コンペ概要
[kaggle - recruit-restaurant-visitor-forecasting](https://www.kaggle.com/c/recruit-restaurant-visitor-forecasting)
> Predict how many future visitors a restaurant will receive

とあるように**レストランの来客数を予測する**コンペですね。

## データ概要
リクルートが保持する

- [ホットペッパー](https://www.hotpepper.jp/)(Hot Pepper Gourmet - a restaurant review service)
  - ホットペッパーを利用し、予約した時間、来客した時間、予約して来客した人数
  - ホットペッパーが保持する店舗データ、店舗のジャンル、出店している地域、緯度・経度 
- [Airレジ](https://airregi.jp/)( AirREGI - a restaurant point of sales service)
- [レストランボード](https://airregi.jp/restaurant-board/)(Restaurant Board - reservation log management software)
	- Airレジを利用し、予約した時間、来客した時間、予約して来客した人数
	- Airレジが保持する店舗データ、店舗のジャンル、出店している地域、緯度・経度 
	- 来客時間、来客数
- その他
	- 休日データ

のデータを利用する。

また、外部データの利用が認められており、今回天気データが利用されたカーネルが多かった模様。

- [kaggle - Am I Allowed to Post the Weather Data?](https://www.kaggle.com/c/recruit-restaurant-visitor-forecasting/discussion/45874)
- [kaggle - Weather Data Version 5](https://www.kaggle.com/c/recruit-restaurant-visitor-forecasting/discussion/46912)
- [Weather Data for Recruit Restaurant Competition](https://www.kaggle.com/huntermcgushion/rrv-weather-data)

参考:
[kaggle - recruit-restaurant-visitor-forecasting - data](https://www.kaggle.com/c/recruit-restaurant-visitor-forecasting/data)

# 手法
## 上位手法リンク

| タイトル | リンク | 備考 |
| -------- | -------- | -------- |
| 1st Solution    | https://www.kaggle.com/c/recruit-restaurant-visitor-forecasting/discussion/49129|  |
| -------- | https://www.kaggle.com/pureheart/1st-place-lgb-model-public-0-470-private-0-502 |  |
| -------- | https://www.kaggle.com/c/recruit-restaurant-visitor-forecasting/discussion/49129#279210 |  |
| 7th place solution | https://www.kaggle.com/c/recruit-restaurant-visitor-forecasting/discussion/49259 | |
| 8th place solution write-up | https://github.com/MaxHalford/kaggle-recruit-restaurant | |
| My first kaggle and 11th place solution sharing | https://www.kaggle.com/c/recruit-restaurant-visitor-forecasting/discussion/49177 | |
| 12th place insight/detailed approach | https://www.kaggle.com/c/recruit-restaurant-visitor-forecasting/discussion/49251 | |
| 16th place solution (simple ver)private 0.509 | https://www.kaggle.com/rsakata/16th-place-solution-simple-ver-private-0-509/code | |
| 20th place solution based on custom sample_weight and data augmentation | https://www.kaggle.com/c/recruit-restaurant-visitor-forecasting/discussion/49328 | |

## 前処理

## 特徴量

### 休日データ

全体を通して休日であるかをフラグとして使っていた。また曜日が金曜日以降の日にさらに別の休日フラグを立てていた、要するに次の日が休みであるかどうかがスコア向上に役立ったと思われる。

- 前日が休日フラグ、明日が休日フラグ(8th place solution write-up)

余談だが「どうやら日本ではゴールデンウィークという休暇があるらしく、その休暇を使ってよく外出するらしい」みたいな議論がされていて面白かった。[参考リンク](https://www.kaggle.com/c/recruit-restaurant-visitor-forecasting/discussion/45048)

### 天気データ
上位陣の解法では入れた場合、入れていない場合があった。

- 平均温度、雨量を使った(12th place insight/detailed approach)
- 同じく平均温度、雨量を使った(My first kaggle and 11th place solution sharing)

## モデル
- 3モデル(xgb, lgb, nn)

# 参考
- [codexa - Kaggle リクルートレストラン客数予想チャレンジをやってみた  Kaggle初心者ハンズオンチュートリアル](https://www.codexa.net/kaggle-recruit-restaurant-visitor-forecasting-handson/)
- [kaggle - recruit-restaurant-visitor-forecasting](https://www.kaggle.com/c/recruit-restaurant-visitor-forecasting)
- [toxic text comment classificationの手法紹介](https://qiita.com/daimonji-bucket/items/183c31233d184f4ddbca)