算法初遇:简单数据处理

本文记录了作者参加腾讯广告算法大赛的经历,从比赛介绍、评估标准、数据处理到特征工程的初步实践。通过对历史曝光日志、用户属性和广告数据的清洗与整合,构建训练集,并采用LightGBM(lgb)模型进行预测。文章指出此次经历仅是数据处理的入门,未来还需深入学习。
摘要由CSDN通过智能技术生成

腾讯广告算法大赛的学习感悟

这是我的第一篇博客,也是第一次接触实际的算法问题。前前后后花了约一周的时间,到处参考各位大佬的文章,才完成了整个过程,算是走了一遍处理算法问题的流程。在这里记录下一点感悟,希望能够在以后的正式比赛中取得进步!

1. 比赛介绍

广告曝光预估的目的是在广告主创建新广告和修改广告设置时,为广告主提供
未来的广告曝光效果参考。通过这个预估参考,广告主能避免盲目的优化尝试,有效缩短广告的优化周期,降低试错成本,使广告效果尽快达到广告主的预期范围。比赛中使用的数据经过脱敏处理,通过本次大赛,我们旨在挑选出更为优秀的曝光预估算法以及遴选出杰出的社交广告算法达人。
 在腾讯提供的广告曝光日志基础上,进行算法分析,预测测试集的广告曝光量。

2.评估标准

2.1准确性评估

在这里插入图片描述
公式中,Ft 为预估的广告曝光值,At 为真实的曝光值。因此,对于预测的结果,SMAPE 越小代表预测的准确性越好。

2.2出价单调性

对于同一条广告,在其他条件,如曝光时间、素材尺寸等不变的情况下,应使得曝光量随着出价变化而变化,保持单调性。这样才符合广告推广的的实际情况。这是单条广告记录的得分,其中imp和bid分别为曝光量和出价。
在这里插入图片描述

接下来是对于所有预估广告的得分统计公式。即对于所有预估广告取均值,可知:得分越高,效果越好。
在这里插入图片描述

3.数据介绍

3.1历史曝光日志

历史曝光日志的前五行如下:
在这里插入图片描述
整个文件约6个G,采用分块读取处理。读取曝光日志的同时,对数据进行简单的初步处理。如去重,删除请求时间为0的数据,去除多值情况。同时,将时间转为可读格式。

exposureLogdf = exposureLogdf.drop_duplicates( subset=['广告请求id', '广告位id'], keep='last')
exposureLogdf = exposureLogdf[~exposureLogdf['广告请求时间'].isin([0])]
exposureLogdf = exposureLogdf[~exposureLogdf['广告请求id'].astype('str').str.contains(',')
                        & ~exposureLogdf['广告位id'].astype('str').str.contains
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值