前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于用户画像的商品推荐挑战赛Baseline【线上0.67】

基于用户画像的商品推荐挑战赛Baseline【线上0.67】

作者头像
老肥码码码
发布2021-07-20 16:00:18
1.4K1
发布2021-07-20 16:00:18
举报
文章被收录于专栏:算法与数据之美

科大讯飞AI开发者大赛的比赛已经正式开幕了,这些赛题涉及了各个领域,包括CV、NLP以及传统的表格赛题等等,今天老肥和大家分享的是表格赛题-基于用户画像的商品推荐挑战赛的Baseline方案,线上得分为0.67+,是目前位次较前的一个方案,还没有报名比赛的同学可以通过文章底部阅读原文直接报名。

赛事概要

基于用户画像的产品推荐,是目前AI营销云服务广告主的一项重要能力,本次赛题选择了两款产品分别在初赛和复赛中进行用户付费行为预测,参赛选手需基于提供的样本构建模型,预测用户是否会购买相应商品。

本次赛题是一个二分类任务,特征维度主要包括:基本数据,性别年龄、用户标签、常驻地信息、机型信息5类特征,出于数据安全的考虑,所有数据均为脱敏处理后的数据。

评估指标采用的是F1-score, 存在着一个阈值调整的空间,另外,本次初赛的数据应该是经过采样,正负样本比例均衡。

Baseline方案

初次拿到赛题发现使用所有原始特征跑的五折 lgb模型能够在线下取得相当高的分数0.7+,线上却能够不到0.5,线上线下存在着超过20个百分点的巨大gap, 显然发生了非常严重的过拟合,训练集与测试集的分布存在较大的不一致的问题,此时我们可以通过绘制概率密度图(kdeplot)来查看特征的分布,也可以通过对抗验证的方法进行特征的筛选。

我们不难发现, 手机型号相关的特征存在着明显的不一致现象,因此本baseline的方案不采用make以及model两个维度的特征。对于用户标签信息,存在着时间相关的信息,我们这里采用Word2Vec来对标签信息做embedding特征的提取,相关代码如下,

代码语言:javascript
复制
data['tagid'] = data['tagid'].apply(lambda x: eval(x))
sentences = data['tagid'].values.tolist()
for i in range(len(sentences)):
    sentences[i] = [str(x) for x in sentences[i]]

emb_size = 32
model = Word2Vec(sentences, size=emb_size, window=6, min_count=5, sg=0, hs=0, seed=1, iter=5)

emb_matrix = []
for seq in sentences:
    vec = []
    for w in seq:
        if w in model.wv.vocab:
            vec.append(model.wv[w])
    if len(vec) > 0:
        emb_matrix.append(np.mean(vec, axis=0))
    else:
        emb_matrix.append([0] * emb_size)
emb_matrix = np.array(emb_matrix)
for i in range(emb_size):
    data['tag_emb_{}'.format(i)] = emb_matrix[:, i]

剩下的特征我们直接送入模型进行学习,其中'gender', 'age', 'province', 'city' 当作类别特征,其余特征为数值特征,最终在线下能够得到0.68的F1得分,0.67的线上F1得分,这个线上线下的gap也基本被成功地抹平。

本文所有代码已经上传,在后台回复「画像」即可获得,点击下方阅读原文链接即可直达比赛现场。

代码语言:javascript
复制
——END——

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与数据之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 赛事概要
  • Baseline方案
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档