写在前面

期待已久的2020腾讯广告算法大赛终于开始了,本届赛题“广告受众基础属性预估”。本文将给出解题思路,以及最完备的竞赛资料,助力各位取得优异成绩!!!

报名链接:https://algo.qq.com/signup.html?rfisource=DSFISH

豪不夸张的说,看完这篇文章你也可以突破1.4分,同时对于1.4之后的提升,比如1.41,或者1.42+,也会给出更多建议和思考方向。

每个分数阶段都有不同的知识点需要去学习,我将上分之路按《王者荣耀》段位进行排列,从1.30到1.40+,从倔强青铜到最强王者。

倔强青铜

分数达到1.30,kfold+lgb

这个阶段还是比较简单的,稍微做些合适的特征就能达到1.30左右。这里不妨使用最简单的目标编码和聚合统计特征,模型选择lgb就可以了。

首先是目标编码,我们使用kfold进行交叉统计,详细代码结构可以参考:

https://github.com/bettenW/Tencent2019_Finals_Rank1st/blob/master/wh/wh_LGB.py

for fold_,(trn_idx,val_idx) in enumerate(folds.split(data_df,data_df)):Log_trn     = data_df.iloc[trn_idx]# meanorder_label = Log_trn.groupby([feat])[f].mean()tmp         = data_df.loc[data_df.fold==fold_,[feat]]data_df.loc[data_df.fold==fold_, colname1] = tmp[feat].map(order_label)test_df[colname1] = None
order_label   = data_df.groupby([feat])[f].mean()
test_df[colname1] = test_df[feat].map(order_label)

‍接下来是用户序列信息进行聚合,具体操作参考代码:

def aggregate_features(df_, prefix):df = df_.copy()agg_func = {'特征1':  ['count','nunique'],'特征2':  ['nunique'],'特征3':  ['mean','max','min','std'],} agg_df = df.groupby(['主键']).agg(agg_func)agg_df.columns = [prefix + '_'.join(col).strip() for col in agg_df.columns.values]agg_df.reset_index(drop=False, inplace=True)return agg_df

特征部分大功告成,下面就可以进行训练了。5折lgb即可。

秩序白银

分数达到1.35,kfold+countvec+lgb

相较1.30,本阶段考虑词频统计特征,保留用户历史序列中的所有点击ID信息,当然tfidf也可以一起使用,这样下来会有90多w维,可以考虑在参数上进行设置,如max_feature和min_df,减少维度。

from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer
cntv = CountVectorizer(min_df=30)
cntv_user = cntv.fit_transform(click_seq)

这样的结果就不要进行其它格式的转换了,直接当作稀疏矩阵训练即可。

from scipy import sparse
train_csr = sparse.csr_matrix(train_df[features])
test_csr = sparse.csr_matrix(test_df[features])
# CountVectorizer结果合并
train_csr = sparse.hstack((train_csr, cntv_user[:900000])).tocsr()
test_csr  = sparse.hstack((test_csr , cntv_user[900000:])).tocsr()

荣耀黄金

分数达到1.40,kfold+countvec+tfidf+stacking+lgb

下面来的1.40阶段,我们依然使用lgb模型。在前面的基础了,本阶段添加了tfidf的模型训练概率结果作为特征,也将其看作stacking,具体分为三步:

# 第一步:得到tfidf结果
tfidf = TfidfVectorizer(min_df=30)
tfidf_user = tfidf.fit_transform(click_seq)
# 第二步:进行多模型的训练
# 五折交叉训练
# 选择简单的子模型
from sklearn.linear_model import LogisticRegression
from sklearn.linear_model import SGDClassifier
from sklearn.linear_model import PassiveAggressiveClassifier
from sklearn.linear_model import RidgeClassifier
from sklearn.naive_bayes import BernoulliNB
from sklearn.naive_bayes import MultinomialNB
# 第三步:保存训练集概率和测试集概率作为特征给lgb

尊贵白金

分数达到1.40+,lgb进行很难继续上分了,需要尝试nn方法

本赛题与NLP关联还是非常大的,首先,我们来看下如何和NLP问题联系起来。用户在90天内点击了不同的广告,我们可以将每个广告看作一个单词word,然后把这些单词连接起来组成一句话[creative_id_1,creative_id_2,…,creative_id_n]。由于每个广告有不同属性,如广告主id,并且每个用户点击广告也有不同属性,如点击次数,这样对于每个用户我们就可以得到8种文本。那么剩下的问题就是根据这8种文本如何预测用户的年龄和性别。

在NLP中,预测文本的类别有许多模型,比如lstm, gru, transformer等。对于8种文本,我们将他们看成正常的文本,然后输入到常见的NLP模型中,在输出端做多分类即可。

在之后的文章还将分享永恒钻石、至尊星耀和最强王者三个段位的上分之路,希望大家持续关注。Coogle也将带来更多干货分享!!!

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑AI基础下载(pdf更新到25集)机器学习的数学基础专辑本站qq群1003271085,加入微信群请回复“加群”获取一折本站知识星球优惠券,复制链接直接打开:https://t.zsxq.com/yFQV7am喜欢文章,点个在看

【竞赛经验分享】2020腾讯广告算法大赛:如何突破分数瓶颈?相关推荐

  1. 2020 腾讯广告算法大赛:突破高分瓶颈方案分享

    写在前面 期待已久的2020腾讯广告算法大赛终于开始了,本届赛题"广告受众基础属性预估".本文将给出解题思路,以及最完备的竞赛资料,助力各位取得优异成绩!!! 报名链接:https ...

  2. 【竞赛方案】2020腾讯广告算法大赛:高分进阶

    写在前面 最近腾讯赛分享成为"Coggle数据科学"的主推文章,从筹备竞赛到逐步上分之路的分享,助力大家取得优异成绩.当然,这也将延续到大赛结束.持续关注Coggle,大家一起学起 ...

  3. 备战2020腾讯广告算法大赛:(2017-2019比赛开源和数据等)

    期待与各位在2020腾讯社交广告算法大赛中相遇!!! 写在前面 最近突然之间讨论腾讯广告赛的人多了不少,也有很多人加我微信讨论19年腾讯赛的方案和代码.虽然2020腾讯赛还未开始,不过大家已经提前进入 ...

  4. 2020腾讯广告算法大赛:赛题理解与解题思路

    写在前面 期待已久的2020腾讯广告算法大赛终于开始了,本届赛题"广告受众基础属性预估".本文将给出解题思路,以及最完备的竞赛资料,助力各位取得优异成绩!!! 报名链接:https ...

  5. 万人报名2020腾讯广告算法大赛,顶级技术争锋正式开战!

    由腾讯广告携手腾讯云.腾讯大数据.腾讯招聘及腾讯高校合作等合作伙伴举办的2020腾讯广告算法大赛,报名阶段于5月31日正式结束.自4月15日赛事开展至今,本届赛事已成功吸引2万多名技术人才高度关注.最 ...

  6. 2020腾讯广告算法大赛十强名单出炉!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale推荐 2020年腾讯广告算法大赛 - 决赛答辩 经过近3个月的激烈角逐,202 ...

  7. 百万奖池,鹅厂offer,2020腾讯广告算法大赛等你来战!

    允中 发自 凹非寺  量子位 编辑 | 公众号 QbitAI 2020腾讯广告算法大赛再度起航,即日起至5月31日,赛事正式面向全社会启动线上招募,一场算法之间的"巅峰对决"即将上 ...

  8. 最强战队出炉,2020腾讯广告算法大赛圆满落幕

    8月3日,2020腾讯广告算法大赛决赛在深圳腾讯滨海大厦顺利举行. 十强战队集结腾讯,花式解密"逆算"难题. 腾讯广告副总裁蒋杰.微众银行首席AI官杨强.科大讯飞副总裁刘鹏.腾讯数 ...

  9. 冠军奖金50万,2020腾讯广告算法大赛广发“英雄帖”

    由腾讯广告主办,腾讯云.腾讯大数据.腾讯招聘及腾讯高校合作等合作伙伴联袂举办的2020腾讯广告算法大赛现已启动,5月31日前皆可报名参加! 百万奖金池重磅加码,"逆算"赛题趣味竞技 ...

最新文章

  1. Codeigniter文件上传类型不匹配错误
  2. 图像旋转的MATLAB和OpenCV源码
  3. 深度学习100例 | 第28天:水果的识别与分类(准确率99.9%)
  4. Java【全排列 算法 模板】
  5. 编程开发涉及的非原生英文名词的读法
  6. mysql order by date_Best practice question for MySQL: order by id or date?
  7. 无内鬼,来点ICML/ACL审稿人笑话
  8. MySQL CookBook 学习笔记-01
  9. 视频转图片序列、图像序列转视频等处理(mmcv vs. opencv)
  10. centos开机自动挂载磁盘_3分钟教你看懂linux磁盘划分
  11. 多窗直播 截屏录制——UC问鼎全球首款直播浏览器
  12. 手把手教你配置阿里云服务器搭建网站
  13. 安卓开发环境的搭建2017-01-15更新
  14. 论文写作中Word设置公式居中编号右对齐保姆级教程
  15. 【C语言/C++】switch使用方法介绍
  16. visio画卷积核,网格
  17. 前端判断访问的浏览器是否为IE8
  18. python处理excel合并单元格的拆分和填补
  19. Mars3D开发基础学习:Property属性机制
  20. 139邮箱java版下载_139邮箱手机客户端

热门文章

  1. 数据库-统计信息相关资料
  2. [poj]poj1860(SPFA)
  3. BZOJ4653 尺取法 + 线段树
  4. css经典布局——头尾固定高度中间高度自适应布局
  5. 导出全部记录到excel
  6. 毕业设计今日总结(一)
  7. 普通用户Mysql 5.6.13 主从,主主及nagios的mysql slave监控
  8. java数据类型_Java 变量、表达式和数据类型详解
  9. 山东省2O2021年普通高考成绩查询,2021山东高考报名人数公布
  10. 机器人学习--粒子滤波定位-MATLAB仿真1