返回列表

8th place solution

487. H&M Personalized Fashion Recommendations | h-and-m-personalized-fashion-recommendations

开始: 2022-02-07 结束: 2022-05-09 商品推荐 数据算法赛
第8名解决方案

第8名解决方案

作者:kazuki
比赛排名:第8名

首先,感谢 Kaggle 和 H&M 团队举办了这场有趣的比赛!
我非常高兴能获得单人金牌并成为 Kaggle Master!
我将分享我的解决方案。

概述

基本策略与其他顶级获奖者相同,包含以下三个步骤:

  1. 为每位客户生成商品候选
  2. 创建特征
  3. 使用 LGBMRanker 进行学习排序

候选生成

我为所有候选类型选择了前 100 个候选。

候选类型 排序方法 CV 分数
复购商品 购买日期 0.029
相同产品代码 购买日期 0.014
基于用户的协同过滤 上周销量 0.024
最热门商品 上周销量 0.017
按年龄分类的最热门商品 上周销量 0.018
按销售渠道分类的最热门商品 上周销量 0.016

特征工程

客户特征

我创建了各种客户特征,但没有效果。

商品特征

  • 商品属性(排除了 article_id 和 product_cd,因为会导致过拟合)
  • 过去 N 天或 N 周的销量
  • 平均销售渠道 ID
  • 发布日期
  • 平均价格
  • 复购统计
  • 产品代码统计
  • 在候选类型中的排名

客户 x 商品特征

  • 购买与候选商品具有相同属性的商品数量
  • 购买与候选商品具有相同属性的商品的日期
  • 客户平均价格与商品平均价格之差
  • 基于用户的协同过滤得分

模型

我使用了 LGBMRanker 模型,并针对每个 CV 折叠进行训练。
我对每个 CV 折叠的模型预测结果进行了加权集成:

  • 验证集:第 98 - 104 周(7 折)
  • 训练集:验证集之前的最后 3 周
同比赛其他方案