0
点赞
收藏
分享

微信扫一扫

酒店取消预订预测分析报告

搬砖的小木匠 2022-04-13 阅读 74
python
  • 分析背景及目的

        本次分析的数据源来自:hotel_bookings-数据集-kaggle官网,是一份酒店预订的信息数据,共119391行,数据集各个待分析字段的含义如下:

数据类型

字段名

字段含义

房间信息

hotel

酒店类型

reserved_room_type

预订房型

assigned_room_type

实际房型

adr

客房日均价

客户信息

adults

入住成人数

children

入住儿童数

babies

入住婴儿数

meal

餐食类型

country

数据来源国家

is_repeated_guest

是否回头客

previous_cancellations

之前的取消预订次数

previous_bookings_not_canceled

之前的未取消预订次数

agent

旅行社id

company

公司/实体id

customer_type

客户类型

required_car_parking_spaces

车位需求数

total_of_special_requests

特殊需求数

订单信息

is_canceled

是否取消预订

lead_time

提前预订时长

arrival_date_year

预订到店年份

arrival_date_month

预订到店月份

arrival_date_week_number

预订到店周数

arrival_date_day_of_month

预订到店日期

stays_in_weekend_nights

预订住宿晚数(周末)

stays_in_week_nights

预订住宿晚数(周中)

market_segment

市场细分类型

distribution_channel

订单渠道

booking_changes

预订更改次数

deposit_type

押金类型

days_in_waiting_list

确认预订前的等待天数

reservation_status

预订最终状态

reservation_status_date

预订最终状态更新日期

  • 分析思路

        建立随机森林、XGBoost、逻辑回归模型分别预测旅客是否会取消预订,并从查准率、查全率、F1值及AUC面积等指标对模型进行对比。

  • 分析过程
  1. 数据预处理

     1. 数据删除

        [1].删除掉与取消订单无关的“预订最终状态更新日期”数据列。

      2. 数据增删及格式处理

        [1].将“旅行社id”和“公司id”数据列中的缺失值赋值为0,并相应地创建两个新的数据列分别将不为0的数据替换为“Yes”,为0的数据替换为“No”;将数据列“是否为回头客”中为1的数据替换为“Yes”,为0的数据替换为“No”;创建新的数据列“房型是否一致”,若预订房型与实际房型一致则为“Yes”,否则为“No”。 

        [2].删除目前已经无用的数据列:“预订房型”、“实际房型”、“旅行社id”、“公司id”。

        [3].将“城市”和“儿童”数据列中的缺失值赋值为非空值的众数。

        [4].对用于分类的特征进行处理:将字符串型分类特征转化为数值型;将连续型分类特征进行标准化处理。

        [5].计算分类特征与“是否取消”数据列的相关系数,删除相关性过高的数据列,防止后续模型过拟合。

     2. 建模预测

  1. 随机森林模型

        具体步骤如下:

        [1].建立随机森林模型,通过10折交叉验证法更好地利用训练数据。

        [2].通过对模型进行训练和测试,输出测试集的两种结果(是否取消预订)的预测概率并最终得到预测结果。

        [3]. 画出模型的ROC曲线并计算AUC面积。ROC曲线图像如下图所示:

     2. XGBoost模型

        具体步骤如下:

        [1].建立XGBoost模型,通过10折交叉验证法更好地利用训练数据。

        [2].通过对模型进行训练和测试,输出测试集的两种结果(是否取消预订)的预测概率并最终得到预测结果。

        [3]. 画出模型的ROC曲线并计算AUC面积。ROC曲线图像如下图所示:

     3. 逻辑回归模型

        具体步骤如下:

        [1].建立逻辑回归模型,通过10折交叉验证法更好地利用训练数据。

        [2].通过对模型进行训练和测试,输出测试集的两种结果(是否取消预订)的预测概率并最终得到预测结果。

        [3]. 画出模型的ROC曲线并计算AUC面积。ROC曲线图像如下图所示:

     3.模型比较

        分别计算三类模型的查准率、查全率、F1值及AUC面积等指标,具体数值如下表所示。

指标
模型

查准率

查全率

F1

AUC面积

随机森林

0.89

0.89

0.89

0.96

XGBoost

0.87

0.88

0.87

0.95

逻辑回归

0.80

0.80

0.79

0.87

通过图表对比发现,随机森林模型的预测效果最佳,F1值达到0.89,AUC面积达到0.96。

举报

相关推荐

0 条评论