基于Expedia公司数据集的旅馆推荐
成员
- 李杨
- 魏思杰
- 李苏畅
- 罗伟
项目简介
人们在计划旅行时经常遇到选择旅馆的问题。对于每个目的地而言,有成百上千的旅馆可供选择。如何选择到与个人喜好相符合的旅馆是一个难题。我们是选择一个以前住过的有喜欢的甜点的旅馆?还是冒着风险选择一个以前没有住过的有游泳池的旅馆?
Expedia公司希望改进旅馆推荐算法,对每个用户提供个性化的旅馆推荐。这个问题的规模为每个月数百万条记录。
近来,Expedia使用搜索参数改进了他们的旅馆推荐算法,但是没有足够的用户数据进行个性化推荐。所以,他们提供了他们的数据集,在Kaggle平台上发布了竞赛。
数据集
数据集介绍
Expedia 提供了大量的用户行为数据。包括了用户在搜索什么,他们如何看待搜索结果(点击还是预定),搜索结果是不是一个旅行计划的一部分。数据是随机选择的,并且不具有对整体数据的代表性。
Expdeia 关注的是用户倾向于预定哪种旅馆类型。Expedia已经通过内部算法构建了旅馆的分类,将价格、用户评价、相距城市中心等因素作为考虑的变量将旅馆进行了聚类。这些旅馆类别将会准确地代表用户将要预测的旅馆类型,这样就避免了有的新旅馆没有历史数据的问题。 比赛的目标就是预测每一个用户将会预定哪一个旅馆类。
训练数据集和测试数据集在时间上是分开的:训练数据集来自2013年和2014年的数据,而测试数据集来自2015年的数据。训练数据包括了日志中的所有用户,包括了点击事件和预定事件,而测试数据集只包括预定事件。
数据集大小
训练数据文件:4.07G
测试数据文件:263M
数据集内容
Column name | Description | Data type |
---|---|---|
date_time | Timestamp | string |
site_name | ID of the Expedia point of sale (i.e. Expedia.com, Expedia.co.uk, Expedia.co.jp, …) | int |
posa_continent | ID of continent associated with site_name | int |
user_location_country | The ID of the country the customer is located | int |
user_location_region | The ID of the region the customer is located | int |
user_location_city | The ID of the city the customer is located | int |
orig_destination_distance | Physical distance between a hotel and a customer at the time of search. A null means the distance could not be calculated | double |
user_id | ID of user | int |
is_mobile | 1 when a user connected from a mobile device, 0 otherwise | tinyint |
is_package | 1 if the click/booking was generated as a part of a package (i.e. combined with a flight), 0 otherwise | int |
channel | ID of a marketing channel | int |
srch_ci | Checkin date | string |
srch_co | Checkout date | string |
srch_adults_cnt | The number of adults specified in the hotel room | int |
srch_children_cnt | The number of (extra occupancy) children specified in the hotel room | int |
srch_rm_cnt | The number of hotel rooms specified in the search | int |
srch_destination_id | ID of the destination where the hotel search was performed | int |
srch_destination_type_id | Type of destination | int |
hotel_continent | Hotel continent | int |
hotel_country | Hotel country | int |
hotel_market | Hotel market | int |
is_booking | 1 if a booking, 0 if a click | tinyint |
cnt | Numer of similar events in the context of the same user session | bigint |
hotel_cluster | ID of a hotel cluster | int |