今天来看看 Instacart Market Basket Analysis competition 的第二名方案,作者是 Yahoo! JAPAN 的一个数据科学家 Kazuki Onodera (aka ONODERA on Kaggle)
这个比赛是要根据顾客的历史购买记录,预测 Instacart 的消费者将再次购买哪种商品,这样可以在顾客需要这个商品的时候,货源是充足的。
模型:
用 XGBoost 建立两个模型,分别预测
之前购买的哪种商品会出现在下次购物篮里,
(用 6个GBDT 结果的平均值作为商品出现在用户下次购物中的预测概率)顾客的下一次购物是否包含任何一种之前购买过的商品。
(用 17 个 GBDT 的结果的加权平均作为用户下次购物中完全没有之前商品的概率)
特征:
分别从 顾客,商品,用户*商品,时间 的角度建立,下面列其中一些特征
顾客:
How often the user reordered items
Time between orders
Time of day the user visits
Features based on order sizes
How many of the user’s orders contained no previously purchased items
商品:
How often the item is purchased
How many users buy it as "one shot" item
Distribution of the day of week it is ordered
Statistics around the time between orders
Probability of being reordered within N orders
Probability it is reordered after the first order
用户*商品:
Number of orders in which the user purchases the item
Days since the user last purchased the item
Replacement items
Whether the user already ordered the item today
时间:
Counts by day of week
Counts by hour
评估指标:
用 F1 得到概率
然后挑选阈值将概率转化为二进制 1/0 (Yes/No)
不同的购物记录它们的阈值也是不同的
共同学习,写下你的评论
评论加载中...
作者其他优质文章