腾讯广告算法大赛学习笔记

本文记录了腾讯广告算法大赛的学习过程,包括比赛描述、数据介绍和初步分析。数据集包含用户广告点击历史,用于预测用户年龄和性别。在实验中,作者探讨了数据预处理、模型选择,如word2vec和神经网络,特别是基于BERT的模型在比赛中取得优秀成绩。
摘要由CSDN通过智能技术生成

比赛描述

    众所周知,像用户年龄和性别这样的人口统计学特征是各类推荐系统的重要输入特征,其中自然也包括了广告平台。这背后的假设是,用户对广告的偏好会随着其年龄和性别的不同而有所区别。许多行业的实践者已经多次验证了这一假设。然而,大多数验证所采用的方式都是以人口统计学属性作为输入来产生推荐结果,然后离线或者在线地对比用与不用这些输入的情况下的推荐性能。本届大赛题目尝试从另一个方向来验证这个假设,即以用户在广告系统中的交互行为作为输入来预测用户的人口统计学属性

数据介绍

    训练集:一组用户在长度为91 天(3 个月)的时间窗口内的广告点击历史记录。每条记录中包含了日期(从 1 到 91)、用户信息 (年龄,性别),被点击的广告的信息(素材 id、广告 id、产品 id、产品类目 id、广告主 id、广告主行业 id 等),以及该用户当天点击该广告的次数。
   测试集:另一组用户的广告点击历史记录,其中不包含用户的年龄和性别信息。

   训练集中包括:ad.csv、user.csv、click_log.csv。测试集中包括ad.csv、click_log.csv。

ad.csv
    ad_id:广告 id
    product_id:广告宣传的产品id
   product_category:广告宣传产品的类别id
   advertiser_id:广告主 id
   industry:广告主所属行业id

user.csv
    age:用户年龄
    gender:用户性别
   user_id:用户id

click_log.csv
   time:时间,取值范围为[1,91]
   user_id:随机生成的不重复的用户id
   creative_id:用户点击的广告素材id
   click_times:当天用户点击次数

数据分析

   对用户数据进行分析,其中性别为1的占2/3,年龄集中分布在2-4中。下面分别是性别和年龄的分布图。
在这里插入图片描述
在这里插入图片描述

   对广告分布进行分析,其中去除重复后的product_id为33272条,advertiser_id为52090条,ad_id为2264190条。

   最后对点击信息进行分析,点击的用户共有2481135名,广告共有4445718条。下图为热门广告点击的creative_id和user_id/
在这里插入图片描述

实验过程

   通过学习参赛者提供的思路,首先由于数据量较大,因此采用word2vec进行嵌入可以提高训练速度并节约空间,在这里可以自己训练或者采用预训练好的词向量。之后的模型可以将其视为多输入文本分类问题,采用的方法包括神经网络方法、lgb模型等,其中比赛第一名采用的是微调的bert模型。下面实验运行的方法为比赛提供的baseline,通过学习其他参赛者的方案得知,采用神经网络的方法效果更好,例如微调的bert模型取得了第一名的成绩。

数据的预处理

   对click_log中的数据按照user_id进行排序,将每个用户的点击序列聚集到一起,年龄与性别标签合并到df_train中,最终生成pkl文件。

df_click.sort_values(by=['user_id', 'time'], inplace=True)

def process_group(df):
    dic = {
   }
    for name in ['time', 'creative_id', 'click_times', 'ad_id', 'product_id', 'product_category', 'advertiser_id', 'industry']:
        dic[name] = df[name].values
    return pd.Series(dic)
    
df_click_group = df_click_group.join(df_train_user.set_index('user_id'))
df_click_group.to_pickle(os.path
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值