点击上方“潜心的Python小屋”关注我们,第一时间推送优质文章。
前言
大家好,我是潜心。2020腾讯广告算法大赛是我参加的第一个正式比赛,在此记录下目前做的一个Baseline思路【用于官方是不开源的,所以不放上源码了】。最后希望能苟进复赛(TAT)。
本文约2.4k字,预计阅读15分钟。
赛题描述
2020腾讯广告算法大赛的题目为:广告受众基础属性预估。
赛题背景
众所周知,像用户年龄和性别这样的人口统计学特征是各类推荐系统的重要输入特征,其中自然也包括了广告平台。这背后的假设是,用户对广告的偏好会随着其年龄和性别的不同而有所区别。许多行业的实践者已经多次验证了这一假设。然而,大多数验证所采用的方式都是以人口统计学属性作为输入来产生推荐结果,然后离线或者在线地对比用与不用这些输入的情况下的推荐性能。本届大赛题目尝试从另一个方向来验证这个假设,即以用户在广告系统中的交互行为作为输入来预测用户 的人口统计学属性。
赛题目标
在比赛期间,将为参赛者提供一组用户在长度为91 天(3 个月)的时间窗口内的广告点击历史记录作为训练数据集。每条记录中包含了日期(从 1 到 91)、用户信息 (年龄,性别),被点击的广告的信息(素材 id、广告 id、产品 id、产品类目 id、广告主 id、广告主行业 id 等),以及该用户当天点击该广告的次数。测试数据集将会是另一组用户 的广告点击历史记录。提供给参赛者的测试数据集中不会包含这些用户的年龄和性别信息。【一个分类问题】
数据说明
训练数据中包含三张表,分别是:click_log.csv,user.csv,ad.csv。测试数据为:click_log.csv,ad.csv。
lick_log.csv:
time: 天粒度的时间,整数值,取值范围[1, 91]。
user_id: 从1到N随机编号生成的不重复的加密的用户id,其中N为用户总数目(训
练集和测试集)。
creative_id: 用户点击的广告素材的 id,采用类似于 user_id 的方式生成。
click_times: 当天该用户点击该广告素材的次数。
user.csv:
user_id
age: 分段表示的用户年龄,取值范围[1-10]。
gender:用户性别,取值范围[1,2]。
ad.csv:
creative_id
ad_id: 该素材所归属的广告的 id。每个广告可能包含多个可展示的素材。
product_id: 该广告中所宣传的产品的 id。
product_category: 该广告中所宣传的产品的类别 id。
advertiser_id: 广告主的 id。
industry: 广告主所属行业的 id。
数据分析
首先对click_log.csv
文件分析,这是关于用户行为的数据,最为关键。首先查看数据前几条内容:
file1 = 'dataset/t