anyuan2002.com - vwin网

查找: 您的方位主页 > 网络频道 > 阅览资讯:『 天池比赛』O2O优惠券运用猜测思路总结

『 天池比赛』O2O优惠券运用猜测思路总结

2019-04-03 06:38:13 来历:www.anyuan2002.com 【

赛题地址:https://tianchi.shuju.aliyun.com/competition/introduction.htm?spm=5176.100065.200879.2.6r6s4g&raceId=231587

榜首赛季数据


目录

 

 


正式开端做是从十月底开端的,之前参加了新手赛,而这一次正式赛能够说是实在仔细做的一次,中心和队友一同学习了许多,也有小小的收成,不论这次成果怎样,今后还有时机。

『 天池比赛』O2O优惠券运用猜测思路总结


数据与点评办法

赛题供给用户在2016年1月1日至2016年6月30日之间实在线上线下消费行为,猜测用户在2016年7月收取优惠券后15天以内的运用情况。 运用优惠券核销猜测的均匀AUC(ROC曲线下面积)作为点评规范。 即对每个优惠券coupon_id独自核算核销猜测的AUC值,再对一切优惠券的AUC值求均匀作为终究的点评规范。
当测验会集的正负样本的散布改变的时分,ROC曲线能够坚持不变。因为在实践的数据会集常常会呈现类不平衡,所以次点也是AUC目标的优势。


解决方案

供给数据的区间是2016-01-01~2016-06-30,猜测七月份用户领券运用情况,即用或许不必,转化为二分类问题,然后经过分类算法猜测成果。首要便是特征工程,其间触及对数据调集的区分,包含提取特征的区间和练习数据区间。接着便是从特征区间中提取特征,包含用户特征、商户特征、优惠券特征、用户商户组合特征、用户优惠券组合特征。后期在测验区间提取了当天的前后7/3/1天的领券信息(这儿边后七天的特征其实是不能运用于工业运用的,因为实践猜测中你无法知道后7/3/1天的领券信息),提高较大。终究运用GBDT、RandomForest、LR进行根据rank的分类模型交融


数据区分

开始没有运用数据区分,导致特征中发生数据走漏,以至于在练习数据上效果很好,线下测验也还不错,在线上体现确差强人意,后来区分了之后有显着提高。

调集 猜测区间 特征区间
猜测集 领券:20160701~20160731 领券&消费:20160101~20160630
练习集 领券:20160515~20160615
消费:20160515~20160630
领券:20160101~20160501
消费:20160101~20160515

能够区分多个练习集。


特征工程

主要有五大特征类:用户特征、商户特征、优惠券特征、用户商户组合特征、用户优惠券组合特征,赛题包含online和offline的数据,因为里边只要部分用户重合,商户优惠券等并未有重合,个人臆测线上应该是淘宝天猫的购买消费数据,有必定相关,但联络弱小,因而只向其间提取了用户特征。而offline数据集就提取了一切五个特征类。一下是各部分特征:

  • 用户特征:u

    • 线下收取优惠券但没有运用的次数 u1
    • 线下一般消费次数 u2
    • 线下运用优惠券消费的次数 u3
    • 线下均匀正常消费距离 u4
    • 线下均匀优惠券消费距离 u5
    • u3/u1 运用优惠券次数与没运用优惠券次数比值 u6
    • u3/(u2+u3) 表明用户运用优惠券消费占比 u7
    • u4/15 代表15除以用户一般消费距离,能够当效果户15天内均匀会一般消费几回,值越小代表用户在15天内一般消费概率越大 u8
    • u5/15 代表15除以用户优惠券消费距离,能够当效果户15天内均匀会一般消费几回,值越大代表用户 在15天内一般消费概率越大 u9
    • 收取优惠券到运用优惠券的均匀距离时刻 u10
    • u10/15 表明在15天内运用掉优惠券的值巨细,值越小越有或许,值为0表明或许性最大 u11
    • 收取优惠券到运用优惠券距离小于15天的次数 u12
    • u12/u3 表明用户15天运用掉优惠券的次数除以运用优惠券的次数,表明在15天运用掉优惠券的或许,值越大越好。 u13
    • u12/u1 F014 表明用户15天运用掉优惠券的次数除以收取优惠券未消费的次数,表明在15天运用掉优惠券的或许,值越大越好。 u14
    • u1+u3 收取优惠券的总次数 u15
    • u12/u15 F016 表明用户15天运用掉优惠券的次数除以收取优惠券的总次数,表明在15天运用掉优惠券的或许,值越大越好。 u16
    • u1+u2 一共消费多少次 u17
    • 最近一次消费到当时领券的时刻距离 u18
    • 最近一次优惠券消费到当时领券的时刻距离 u19
    • 用户当天收取的优惠券数目 u20
    • 用户前第i天收取的优惠券数目 u20si
    • 用户后第i天收取的优惠券数目 u20ai
    • 用户前7天收取的优惠券数目 u21
    • 用户前3天收取的优惠券数目 u22
    • u22/u21 u23
    • u20/u22 u24
    • 用户后7天收取的优惠券数目 u25
    • 用户后3天收取的优惠券数目 u26
    • u26/u25 u27
    • u20/u26 u28
    • 用户练习、猜测时刻收取的优惠券数目 u29
    • 用户当天收取的不同优惠券数目 u30
    • 用户前第i天收取的不同优惠券数目 u30si
    • 用户后第i天收取的不同优惠券数目 u30ai
    • 用户练习、猜测时刻收取的不同优惠券数目 u31
    • 依照7/4/2分化练习、猜测时刻,提取此段窗口时刻的特征
    • 用户7/4/2天收取的优惠券数目 u32_i
    • 用户7/4/2天所收取的优惠券优惠率r1/r2/r3/r4排名 u_ri_ranki
    • 用户7/4/2天所收取的优惠券优惠率r1/r2/r3/r4排名 u_ri_dense _ranki
    • u32_4/u32_7 u33
    • u32_2/u32_4 u34
    • u32_2/u32_7 u35
    • u20/u32_2 u36

    • 线上收取优惠券未运用的次数 action=2 uo1

    • 线上特价消费次数 action=1 and cid=0 and drate=”fixed” uo2
    • 线上运用优惠券消费的次数 uo3
    • 线上一般消费次数 action=1 and cid=0 and drate=”null” uo4
    • 线上收取优惠券的次数 uo1+uo3 uo5
    • uo3/uo5 线上运用优惠券次数除以线上收取优惠券次数,正比 uo6
    • uo3/uo4 线上运用优惠券次数除以线上一般消费次数,正比 uo7
    • uo2/uo4线上特价消费次数除以线上一般消费次数 uo8

    • 参加练习猜测时刻前一个月的窗口特征

    • 线下收取优惠券但没有运用的次数 uw1

    • 线下一般消费次数 uw2
    • 线下运用优惠券消费的次数 uw3
    • 线下均匀正常消费距离 uw4
    • 线下均匀优惠券消费距离 uw5
    • uw3/uw1 运用优惠券次数与没运用优惠券次数比值 uw6
    • uw3/(uw2+uw3) 表明用户运用优惠券消费占比 uw7
    • uw4/15 代表15除以用户一般消费距离,能够当效果户15天内均匀会一般消费几回,值越小代表用户在15天内一般消费概率越大 uw8
    • uw5/15 代表15除以用户优惠券消费距离,能够当效果户15天内均匀会一般消费几回,值越大代表用户在15天内一般消费概率越大 uw9
    • 收取优惠券到运用优惠券的均匀距离时刻 uw10
    • uw10/15 表明在15天内运用掉优惠券的值巨细,值越小越有或许,值为0表明或许性最大 uw11
    • 收取优惠券到运用优惠券距离小于15天的次数 uw12
    • uw12/uw3 表明用户15天运用掉优惠券的次数除以运用优惠券的次数,表明在15天运用掉优惠券的或许,值越大越好。 uw13
    • uw12/uw1 F014 表明用户15天运用掉优惠券的次数除以收取优惠券未消费的次数,表明在15天运用掉优惠券的或许,值越大越好。 uw14
    • uw1+uw3 收取优惠券的总次数 uw15
    • uw12/uw15 F016 表明用户15天运用掉优惠券的次数除以收取优惠券的总次数,表明在15天运用掉优惠券的或许,值越大越好。 uw16
    • F01+F02 一共消费多少次 uw17

  • 商户特征:m
    • 商户一共的消费笔数:m0
    • 商户优惠券消费笔数:m1
    • 商户正常的消费笔数:m2
    • 没有被运用的优惠券: m3
    • 商户发放优惠券数目:m3+m1 m4
    • 商户优惠券运用率:m1/m4 m5
    • 商户在练习、猜测时刻发行的优惠券数目 m6
    • 商户当天发行的优惠券数目 m7
    • 商户在练习、猜测时刻有多少人在此店领券 m8
    • 商户在当天有多少人在此店领券 m9
    • 依照7/4/2分化练习、猜测时刻,提取此段窗口时刻的特征
    • 7/4/2天此商铺优惠券发放数目 m10_i
    • m9 / m10_7 m11
    • m9 / m10_4 m12
    • m9 / m10_2 m13
    • m10_2 / m10_4 m14

  • 优惠券特征:c
    • 扣头类的优惠券扣头率 r1
    • 满减类优惠券满减金额 r2
    • 满减类优惠券减的金额 r3
    • 满减类优惠券优惠率 (r2-r3)/r2 r4
    • c1+c2 此优惠券一共发行多少张 c0
    • 此优惠券一共被运用多少张 c1
    • 没有运用的数目 c2
    • c1/c0 优惠券运用率 c3
    • 优惠力度 c5
    • 优惠力度在当天所收取优惠券里边排名 c5_rank
    • 优惠力度在当天所收取优惠券里边排名 c5_denserank
    • 优惠力度在当天同一店家所收取优惠券里边排名 c5_rankm
    • 优惠力度在当天所收取优惠券里边百分比排名 c5_rankp
    • 优惠力度在当天同一店家所收取优惠券里边百分比排名 c5_rankmp
    • 此优惠券在练习、猜测时刻发行了多少张 c6
    • 此优惠券在当天发行了多少张 c7
    • 领券当天周几 c8
    • 领券当天是否周末 c9 c8,c9去掉效果更好了。。。。
    • 此优惠券在当天被多少人领过 c10
    • 此优惠券在练习、猜测时刻被多少个人领过 c11
    • 此优惠券终究一次领券时刻到此领券时刻的距离 c12
    • 此优惠券终究一次消费时刻到此领券时刻的距离 c13
    • 依照7/4/2分化练习、猜测时刻,提取此段窗口时刻的特征
    • 7/4/2天此优惠券发放数目 c14_i
    • c10 / c14_7 AS c15
    • c10 / c14_4 AS c16
    • c14_2 / c14_4 AS c17
    • c10 / c14_2 AS

  • 用户和商户组合特征:um
    • 用户在商铺一共消费过几回 um0
    • 用户在商铺运用优惠券几回 um1
    • 用户在商铺收取优惠券未消费次数 um2
    • 用户在商铺一般消费次数 um3
    • um1/(um1+um2) 用户在此商户优惠券运用率 um4
    • um0/(u2+u3) 值大表明用户比较常去的商户 um5
    • um1/u3 值大表明用户比较喜爱在那个商户运用优惠券 um6
    • 用户在练习、猜测时刻在此商铺收取的优惠券数目 um7
    • 用户当天在此商铺收取的优惠券数目 um8
    • 依照7/4/2分化练习、猜测时刻,提取此段窗口时刻的特征
    • 7/4/2天此用户在此商铺收取的优惠券发放数目 um9_i
    • um8 / um9_7 um10
    • um8 / um9_4 um11
    • um8 / um9_2 um12
    • um9_2 / um9_4 um13

  • 用户和优惠券组合特征:uc

    • 用户收取的优惠券数目 uc0
    • 用户收取未消费的优惠券数目 uc1
    • 用户消费了此优惠券的数目 uc2
    • uc02/uc0 uc3
    • 用户在此期间收取了多少张此优惠券 uc4 partiton by uid, cid
    • 用户在当天收取了多少张此优惠券 uc5
    • 收取优惠券时刻-终究一次运用优惠券时刻 uc6
    • uc6/ u5 uc7 正比

    • 用户前第i天收取的此优惠券数目 uc5si

    • 用户后第i天收取的此优惠券数目 uc5ai
    • 用户前7天收取的此优惠券数目 uc8
    • 用户前3天收取的此优惠券数目 uc9
    • uc9/uc8 uc10(若u21为0,则为1)
    • uc4/uc9 uc11
    • 用户后7天收取的此优惠券数目 uc12
    • 用户后3天收取的此优惠券数目 uc13
    • uc13/uc12 uc14
    • uc4/uc13 uc15
    • 依照7/4/2分化练习、猜测时刻,提取此段窗口时刻的特征
    • 7/4/2天此用户在此商铺收取的优惠券发放数目 uc16_i
    • 用户前后2/4/7收取的优惠券优惠率排名 uc17_i

算法及模型交融

开始运用RF、GBDT两种模型,GBDT效果优于RF,后期运用了多个GBDT和XGBoost,别离运用不同的参数、不同的正负样本份额以rank的办法进行多模型的交融,效果有细小提高,可是因为核算量的约束没有进一步翻开。

模型交融

因为点评目标是核算每个coupon_id核销猜测的AUC值,然后一切优惠券的AUC值均匀作为终究的点评目标,而rank交融办法对AUC之类的点评目标特别有用,所以选用此办法,公式为:

i=1nWeightiRanki

其间n表明模型的个数, Weighti表明该模型权重,一切权重相同表明均匀交融。Ranki表明样本在第i个模型中的升序排名。它能够较快的运用排名交融多个模型之间的差异,而不需求加权交融概率。

运用

根据参数,样本(采样率),特征取得多个模型,得到每个模型的概率值输出,然后以coupon_id分组,把概率转换为降序排名,这样就取得了每个模型的Ranki,然后这儿咱们运用的是均匀交融,Weighti=1/n,这样就取得了终究的一个值作为输出。


线下点评

尽管这次比赛每天有四次评测时机,可是构建线下点评在前期成果比较差的时分用途很大,前期增加特征之后线下点评根本和线上的趋势坚持共同(例如在增加了Label区间的领券特征之后,线下提高十多个百分点,线上也是共同),关于新特征衡量仍是有参照性的。后期距离在0.1%等级的时分,就没有参照性了。

线下点评在练习会集采样1/3 or 1/4 or 1/5做线下点评调集,剩余的做为练习集练习模型,并将点评调会集全0或许全1的优惠券ID去掉,然后运用练习的模型对点评调集猜测,将猜测成果和实践标签作异或取反(相同为1,不同为0),然后算出每个优惠券ID的AUC,终究将每个ID的优惠券AUC取均值就得到终究的AUC。


回忆

这一次比赛学习了许多,包含散布式渠道ODPS和机器学习渠道完成数据清洗,特征提取,特征挑选,分类建模、调参及模型交融等,学习探索了一套办法,使自己建立了决心,理解还有许多需求学习的当地,之前一向关于算法都是作为一个黑匣子,只会了解输入输出直接调用,要深化了解算法,才干打破现在的瓶颈有所提高。
一同我觉得咱们一同讨论沟通也很重要,一个人做着做着就简单走偏,纯属个人观点。

CSDN博客链接:http://blog.csdn.net/shine19930820/article/details/53995369

授人以鱼不如授人以渔:

 
 

本文地址:http://www.anyuan2002.com/a/question/100225.html
Tags: O2O 比赛 天池
修改:vwin网
关于咱们 | 联络咱们 | 友情链接 | 网站地图 | Sitemap | App | 回来顶部