划分测试集、验证集和训练集
(date_received),领取优惠券日期 领取优惠券日期和使用优惠券日期
测试集 dateset3: 20160701~20160731 (113640),features3 from 20160315~20160630 (off_test)
验证集 dateset2: 20160515~20160615 (258446),features2 from 20160201~20160514
训练集 dateset1: 20160414~20160514 (138303),features1 from 20160101~20160413
分为提取特征区间(领取优惠券日期和使用优惠券在20160315-20160630)和预测区间(领取优惠券日期在20160701-20160730)
预测区间
是指特定的领取优惠券日期
特征区间
是值特定的领取优惠券日期和消费优惠券日期
提取其他特征
用户与优惠券的交互特征
- 对dataset3 dataset2 dataset1
- 1.用户领取所有优惠券数目
- 2.用户领取相同优惠券数目
- 3.用户领取相同优惠券的第一次
- 4.用户领取相同优惠权的最后一次
- 5.该天领取的所有优惠券数目
- 6.该天领取相同优惠券的数目
- 7,用户上一次下一次领取优惠券的间隔
- this_month_user_receive_all_coupon_count
- this_month_user_receive_same_coupon_count
- this_month_user_receive_same_coupon_lastone
- this_month_user_receive_same_coupon_firstone
- this_day_user_receive_all_coupon_count
- this_day_user_receive_same_coupon_count
- day_gap_before, day_gap_after (receive the same coupon)
优惠券相关特征
- 对dataset3 dataset2 dataset1提取优惠券特征
- 折扣率
- 折扣最低消费额
- 是否是满减类型
- 折扣满减要求
- 折扣满减额
- 是否是满减类型优惠
- 相同优惠券总张数
- 领取优惠券日期,是一周的第几天,一个月的第几天,与最后一天的间隔
- discount_rate. discount_man. discount_jian. is_man_jian
- day_of_week,day_of_month. (date_received)
商家相关特征
- total_sales. sales_use_coupon. total_coupon
- coupon_rate = sales_use_coupon/total_sales.
- transfer_rate = sales_use_coupon/total_coupon.
merchant_avg_distance,merchant_min_distance,merchant_max_distance of those use coupon
这里对feature三个月的数据进行特征提取,分别是feature3 feature2 feature1
- 1.所有不重复的商家
- 2.商户总的到店消费量,包括领取优惠券并消费与没有领取优惠券并消费
- 3.商户中领取优惠券并且到店消费的用户数量
- 4.商户被领优惠券的总数量
- 5.商户中领取优惠券并到店消费的用户的最小距离、最大距离、平均距离、中位数距离
- 6.优惠券转化率,领取优惠券并到店消费的几率,到店消费并使用优惠券/总的优惠券数
- 7.优惠券消费率,到店消费并使用优惠券的几率,到店消费并使用优惠券/总的到店消费数
用户相关特征
- count_merchant.
- user_avg_distance, user_min_distance,user_max_distance.
- buy_use_coupon. buy_total. coupon_received.
- buy_use_coupon/coupon_received.
- buy_use_coupon/buy_total
- user_date_datereceived_gap
- 针对feature3 feature2 feature1
用户消费情况下,用户消费的商家总数
用户领取优惠券并消费,用户离商家距离,最小距离,平均距离,最大距离,中位数距离
用户到店消费并使用优惠券的张数
用户消费的总次数
用户领取优惠券的总张数
用户领取优惠券和消费优惠券的日期间隔,最短间隔、最大间隔、平均间隔
用户使用优惠券几率,使用优惠券消费/消费总次数
用户领取优惠券的转化率,使用优惠券消费/优惠券总张数
用户商户的交互特征
- feature3 feature2 feature1
- times_user_buy_merchant_before.
- 不重复的用户商户对
- 用户到同一商家消费的次数
- 用户到同一商家领取优惠券的总张数
- 用户商家的所有对
- 用户到店普通消费的次数
- 用户到商家领取优惠券并消费的转化率 消费/优惠券总张数
- 用户到商家领取优惠券并消费的消费率 消费/总的消费次数
- 用户到商家的消费率
- 用户到商家的普通消费率
优惠券特征和其他特征是在预测区间取的
coupon3 merchant3 user3 user_merchant3 other_feature
只有优惠券特征和其他特征是预测区间提取,这样得到的用户都是在预测区间的用户,最后和其他特征merge时,得到的也是预测区间的用户,与预测在预测期间收到优惠券的用户
题目是要求用户在7月领取优惠券后,用户是否在15天内核销
- 实际打label就确定用户领取用户领取优惠券之后15天是否核销
- 按照预测区间的用户为标准,从特征区间中取得到特征,因为最终要预测的是预测区间的用户领取优惠券后是否核销,以预测区间的用户为标准,从预测区间得到优惠券特征、其他特征。从特征区间中得到用户特征、商户特征、用户商户特征。
- 所以针对训练集打特征也是针对在训练集的预测区间的用户打label
使用xgboost的调参技巧
- 先设定初始参数值,之后按照grid_cv的方法寻找最优参数值
- 画出特征重要性函数,得到不同特征的重要性程度
关键是特征提取方法
- 在预测区间中提取其他特征,以user_id作为key因为最终是要预测预测期间的用户是否使用优惠券
- 提取预测区间用户消费优惠券的优惠券特征
- 在特征区间提取用户相关特征,可以在此前的三个月更多数据中提取用户相关特征
- 商户相关特征
- 用户商户相关特征
- 最后按照其他特征-优惠券特征-用户特征-商户特征-用户商户特征合并