对“科大讯飞2021丨广告点击率预估挑战赛 Top1方案(附完整代码)_Jack_Yang的博客-优快云博客”的补充。

本文详细介绍了2021年科大讯飞广告点击率预估挑战赛的背景、数据探索与特征工程,包括用户行为分析、时间序列处理、活动业务权重构建等,旨在提供竞赛策略参考和代码示例。

这篇文章的初衷是针对科大讯飞2021丨广告点击率预估挑战赛 Top1方案(附完整代码)_Jack_Yang的博客-优快云博客进行补充。

博客的信息量很少,对任务背景的介绍也不太对,说实话令人费解。我想的是能不能写份博客视为补充,更加严谨,也是这份博客的缘由。

比赛是讯飞的比赛 2021 iFLYTEK A.I.开发者大赛-讯飞开放平台。大赛已经结束,博主也没能拿到数据,很遗憾只能介绍结合大赛数据格式、代码说明算法设计的思维。

1. 任务背景

广告点击率预估是在线广告交易的核心环节之一,如果说一家公司想知道 CTR(点击率),以确定将他们的钱花在数字广告上是否值得。点击率高表示对该特定广告系列更感兴趣,点击率低可能表明广告可能不那么相关。高点击率表明更多人点击了网站,这有利于在谷歌、必应等在线平台上以更少的钱获得更好的广告位置。

平台展示给用户特定的广告,用户存在点击与不点击两种行为。给定某平台实际广告业务中的用户行为数据,共包含13个用户相关的字段,其中isClick字段表明用户是否会点击广告。

任务目标是通过训练集训练模型,来预测测试集中isClick字段的概率结果,即用户点击平台所推荐广告的概率,以此为依据,表示用户对特定广告感兴趣的程度。

2.数据说明

2.1 数据格式

赛题数据由训练集和测试集组成,包含13个特征字段,6天的数据。其中39万多条作为训练集(7月2-6日),7万多条作为测试集(7月7日),同时会对部分字段信息进行脱敏。 

图片

训练集:完整字段的数据(gender中有空NULL,date是排序好的行为时间(一般时序数据都要根据时间排序为timestep,便于diff)) 

测试集:预测是否点击isClick。

2.2 数据探索

  • userid的分布是有偏的

import seaborn as sns
from tqdm import tqdm
from sklearn.model_selection import KFold 
import lightgbm as lgbm 

sns.distplot(df_tr_te['user_id'].value_counts())

图片

  • user_group_i的分布主要集中在1,2,3,4,5。

df_tr_te['user_group_id'].value_counts().plot(kind='bar')

图片

  • day每天的数据是类似的(day是2~7,这里只给出了6天的数据)

df_tr_te['day'].value_counts().plot(kind = 'bar')

图片

  • isClick标签分布有些不平衡;

df_tr['isClick'].value_counts().plot(kind = 'bar')

图片

  • 每一天用户的点击率会有些许差异,但大致都在0.06-0.075之间。

df_tr_te.loc[df_tr_te['isClick']!=-1].groupby('day')['isClick'].mean().plot()

图片

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值