关于腾讯算法大赛

腾讯算法大赛

本文参考于我协会前会长吴师兄的文档

腾讯社交广告高校算法大赛是面向高校大学生的算法大赛,作为腾讯核心的广告业务单元,腾讯社交广告通过对海量社交数据进行深入分析,构建多样广告场景,与8亿用户连接对话。在大数据、机器学习领域的持续创新投入,驱动社交广告生态发展。本次大赛旨在开放腾讯在社交和数字广告领域的真实数据,面向高校学生征集最智慧的算法解决方案。

详细的赛题见腾讯算法大赛, 记得也把 FAQ 看完, 里面也包含了许多重要信息

赛题比较难理解, 因为赛题属于广告学范畴, 如果实在难以理解赛题的可以先看看这篇文章, 看完再重新看一遍赛题就会通透许多转化率预估

官方已经不再关闭数据的下载通道了, 不过之前已经备份到了百度云, 在这里提供给大家官方数据下载


赛题要求

官方提供17-30天移动 APP 的广告、用户的转化情况,及相关上下文, 根据这些数据预测第31天指定用户和对应广告的转化率.

评估方式 (赛题中提供的计算公式)

通过Logarithmic Loss评估(越小越好),公式如下:


img_1145a19821d280defc5f5996ec7f7bfc.png

其中,

N是测试样本总数,

yi是二值变量,取值0或1,表示第i个样本的label,

pi为模型预测第i个样本 label为1的概率。

示例代码(Python语言实现):


img_0dc00fe262043fb23e8ef83fb0855152.png

项目目的

主要在于剖析和学习大赛中取得 第64 名大牛的分享, 对其代码进行理解和分析, 主要着重点在于特征工程。

机器学习的主要流程

img_b555dfeaf8734c140afc681748bb7d54.png
机器学习流程


数据分析和清洗方法

img_06dfe69f900845b79a5c49047ef4cbf8.png

关于数据分析,阅读FAQ可知:

App 的激活定义为用户下载后启动了该App,即发生激活行为。从用户点击广告到广告系统得知用户激活了App(如果有),通常会有较长的时间间隔,主要由以下两方面原因导致:

1) 用户可能在下载之后过了很久才启动App;

2) 用户启动App的行为需要广告主上报回传给广告系统,通常会有一定的延时。

这里回流时间表示了广告主把App激活数据上报给广告系统的时间,回流时间超过5天的数据会被系统忽略。

值得注意的是,本次竞赛的训练数据提供的截止第31天0点的广告日志,因此,对于最后几天的训练数据,某些label=0并不够准确,可能广告系统会在第31天之后得知label实际上为1。

某些app和用户的记录比较少

最后几天有部分数据不准确

对于这个问题, 这里采用了比较暴力的方法, 将最后几天这些可能会出现问题的数据删除


特征工程

特征工程即根据基本的数据提取出更多有用的数据, 然后结合基本特征来选取最终决定需要采用训练的特征数据, 往往特征工程决定了最终预测的效果

基本数据在官方已经提供了数据描述的表格, 这个一定要好好理解每一个字段的作用, 这里就不重复描述数据的字段了

在这里先强调一下,在做完特征工程之后, 我们得到了更多的特征, 但并不是每一个特征都对模型的训练有用, 故此我们需要对特征进行筛选 (不仅仅是单方面的取舍, 还需要根据重要的程度进行权重的分配)

通过数据分析,计划以下的特征作为最终的训练数据标签

1.基础特征:计数特征、转化率、比例特征等各种基本的特征(各种ID)

2.用户当天行为特征:基于当天数据统计的用户行为、app行为的特征

3.用户历史行为特征:word2vec 计算用户行为与历史行为的关联


1. 基础特征

基础特征即腾讯官方提供的数据,各种的ID标签,将一些没用的标签去掉即可,不需

要作过多的处理


2、3 用户行为特征的处理

用户行为特征的处理逻辑较为繁琐, 也是整个项目中最繁琐的操作, 逻辑比较难理

清,建议通过源码来理解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/452799.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

列表推导式

#麻烦办法new_lst []for i in range(10): new_lst.append(i**2)print(new_lst)#简单办法print([i**2 for i in range(10)])# 小题下面列表中取余list_a [1,2,3,-5,20,-7]print([i%2 for i in list_a])# 30以内所有能被3整除的数print([won for won in range(30) if won%3 …

软件过程

软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 软件过程描述为了开发出客户需要的软件,什么人(who)、在什么时候(when)、做什么事(what&#x…

【总结整理】JavaScript的DOM事件学习(慕课网)

事件:在文档或者浏览器窗口中发生的一些,特定的交互瞬间 HTML和JavaScript的交互通过事件 来实现 比如:1.滚动条向下滑动,加载图片 2.图片轮播,鼠标由2-5页调换 本章内容1、理解事件流2、使用事件处理程序3、不同的事件…

Python面试题总结(6)--数据类型(综合)

1. Python 里面如何实现 tuple 和 list 的转换? 答: Python 中的类型转换,一般通过类型强转即可完成 tuple 转 list 使用 list() 方法 list 转 tuple 使用 tuple() 方法 2. 我们知道对于列表可以使用切片操作进行部分元素的选择&#xff0c…

项目经理需要的思维批判

想做好项目经理,就一定要改变你的思维方式。这对于技术出身的朋友尤其重要。 清末人们自以为天朝,他国皆为蛮夷。结果如何呢?丧师辱国,自己沦为病夫。其根本莫非自己脑筋不对头?后来又搞洋务运动,以为洋人…

NavigationView更改菜单icon和title颜色变化效果

NavigationView menu默认icon和title会随着菜单状态改变而改变,选择某个菜单后再次打开侧边菜单后会发现该菜单的icon和title会变成应用的主颜色,其他菜单项仍然为黑色。 如果想关闭系统默认的这个效果,有两种方式: 1. XML布局文件…

java项目打镜像_docker通过dockerfile打java项目镜像

环境:centos7思路:java -jar 启动的项目打包成docker images进行运行创建dockerfile——>创建shell脚本——>打包images1、dockerfile内容如下[rootk8s-master xxl-execl]# more dockerfile#网上拖取java8的镜像FROM java:8MAINTAINER zhangshan-m…

什么是数据库

数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。1.数据库的基本特征2.数据按一定的数据模型组织、描述和储存3.可为各种用户共享4.冗余度较小5.数据独立性较高6.易扩展

NumPy常用属性及方法

NumPy是高性能科学计算和数据分析的基础包。部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组。用于对整组数据进行快速运算的标准数学函数(无需编写循环)。用于读写磁盘数据的工具以及用于操作内存映射文件…

Windows下gmssl使用记录

使用gmssl进行计算sm4,编译的版本是gmssl2.0,2.1版本编译不过去 第一步下载软件,下载Visual Studio 2010旗舰版、nasm-2.13.03-installer-x86、ActivePerl-5.22.4.2205-MSWin32-x86-64int-403863这三个软件, 注意vs版本不能太低&a…

公司管理项目管理中的技巧

如果在项目实施中选出最难解决的几个问题,那么管理问题一定名列前茅。在管理问题中,团队管理又是其中的难点。一个项目管理的好坏,很大程度就体现在团队的建设和管理上。团队管理涉及到管理学、心理学和哲学等诸多方面内容,具体实…

数据库管理系统

什么是数据库管理系统位于用户与操作系统之间的一层数据管理软件是基础软件,是一个大型复杂的软件系统 数据库管理系统的用途科学地组织和存储数据、高效地获取和维护数据数据定义功能提供数据定义语言(DDL)定义数据库中的数据对象数据组织、…

kangle服务器搭建java_linux下kangle虚拟主机-架设java空间的教程及心得

1. chmod x jdk-6u31-linux-i586-rpm.bin2. ./jdk-6u31-linux-i586-rpm.bin复制代码(注:如果下载的版本不同输入实际版本)2.下载插件包:1. wget http://www.kanglesoft.com/download/ent/easypanel-tomcat-lin-1.0.tar.gz2. tar xzf easypanel-tomcat-lin-1.0.tar.g…

Django项目--登录判断装饰器

view.py中定义登录判断装饰器函数 def login_required(view_func):登录判断装饰器def wrapper(request, *view_args, **view_kwargs):# 判断用户是否登录if request.session.has_key(islogin):# 用户已登录,调用对应的视图return view_func(request, *view_args, **view_kwarg…

Apple着手抛弃32位macOS应用程序

\看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料!\\\Apple已经着手抛弃macOS上的32位应用程序了。macOS的下一个维护更新版本High Sierra 10.13.4将会在用户打开32位应用程序时对…

HiveQL与SQL区别

1、Hive不支持等值连接 •SQL中对两表内联可以写成:•select * from dual a,dual b where a.key b.key;•Hive中应为•select * from dual a join dual b on a.key b.key; 而不是传统的格式:SELECT t1.a1 as c1, t2.b1 as c2FROM t1, t2WHERE t1.a2 t…

Django项目--csrf攻击

1.案例流程图: 2.django防止csrf的方式: 1 ) Django中默认打开csrf中间件。settings.py文件中: MIDDLEWARE_CLASSES (django.contrib.sessions.middleware.SessionMiddleware,django.middleware.common.CommonMiddleware,django.middlewar…

数据库管理系统与数据库系统

数据库:容纳数据的仓库。数据库系统:数据库、数据库管理系统、硬件、操作人员的合在一起的总称。数据库管理系统:用来管理数据及数据库的系统。数据库系统包含数据库管理系统、数据库及数据库开发工具所开发的软件(数据库应用系统…

如果你扯了团队后腿,你应该内疚

现在,我看到很多人扯了团队的后腿,一句道歉就了事,更甚者就以另一种方式来表达:你们没有给我足够的培训,你们的工作方式我无法接受,我工资太低,你们做的事情不够酷,你们做的事情不赚…