Skip to content

dayL-W/IJCAI-2018-A

Repository files navigation

IJCAI2018

比赛要求

比赛以阿里电商广告为研究对象。给定广告点击相关的用户(user)、广告商品(ad)、检索词(query)、上下文内容(context)、商店(shop)等信息的条件下预测广告产生购买行为的概率(pCVR)。评价指标采用logloss。

特征工程

数据量比较大,处理较慢,先把数据划分成一个个小块,然后采用多线程的方法构造特征。 从用户、商品、店铺以及二者之间的角度来构造特征。 用户:

基础特征:

1、店铺评价数量、好评率、星级、服务态度、物流服务,商品描述。

2、商品的类目,品牌,尝试,价格、销量、等级,收藏、展示次数。

简单特征

1、用户、商品、店铺、品牌、类目的买入数量,浏览数量,转化率以及转化率的平滑值。

2、根据用户查询词预测的属性和商品属性重合的个数。在商品属性中的排名。

3、排名特征,商品转化率在同店铺,类别,品牌下的排名。

4、不同时段的转化率,不同日期的转化率

高级特征

1、用户1天内、1小时内、30分钟、15分钟内的搜索这个商品、店铺、类目、品牌的搜索次数,当次搜索距离当天第一次搜索这个商品、店铺、类目、品牌的时间差。

2、商品相对同类目、同品牌平均价格的差值,平均销量的差值,平均收藏数的差值

3、采用XGB做一次特征筛选,滤除一下作用不大的噪声特征

4、训练前7天的数据,预估第7天的概率做为新的特征,放到第二个模型中训练

模型训练

训练集中包含7天的普通日期和半天的促销日期,需要预测另外半天的CTR。由于训练集中的数据分布存在差异,我们采用分开训练的办法,一种训练普通日期的数据,一种模型训练促销日期的数据,然后融合在一起。 每种训练方法都采用了LGB/XGB/FFM 模型的融合试过中值融合、平均值融合,和Stacking融合(LR模型),结果是中值好一点

总结

对于上采样和下采样,采样之后数据集的分布不太一样了,所以放弃了上下采样的方法。

大部分的购买行为发生在少量点击次数下,这这种情况无法通过历史行为预估用户行为,所以提出了查询词和商品属性关联的特征以及用户浏览相关的时间特征。

分阶段训练,首先用对数据做一个粗预测,对预测结果从高到底排序后按比例分成两部分,比如取分数最高的前10%,我们认为这部分样本可能会购买,我们对它放到下一层模型进行训练和预测。而对于低90%的样本我们认为它很有可能是不够买的,我们也把放到另外的一层模型做训练。结果发现这样效果也不太好。

分新用户和老用户训练,经过特征重要度分析,我们发现模型比较依赖于用户的CVR,而对于新用户我们是无法知道它的CVR的,只能得到老用户的CVR。于是我们把用户分成新用户和老用户,分别使用不同的模型训练,然后拼接得到最终的结果。发现效果也是不佳。

GBDT+LR模型,这个模型被Facebook发表在一篇论文上,据说很厉害,在kaggle比赛上也得到了验证。LR的特征就是GBDT的叶节点编号,这个思想也是特征组合的思想。但是我们把这个模型用起来后结果发现,效果并不好,比LGB、XGB的效果都差很多,比赛的网友也说效果不好,不解。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages