在给大家分享知识的过程中,发现很多入门同学对文本编码和推荐系统比较感兴趣:
而上述问题都是一个推荐算法工程师必备的,本月我们将组织一次推荐系统竞赛训练营活动,希望能够帮助大家入门数据竞赛。
12月份的竞赛活动将以天池 零基础入门推荐系统赛题展开。在活动中我们将布置具体竞赛任务,然后参与的同学们不断闯关完成,尽可能的帮助大家入门。
为了激励各位同学完成的学习任务,将学习任务根据难度进行划分,并根据是否完成进行评分难度高中低的任务分别分数为3、2和1。在完成学习后(本次活动,截止12月31),将按照积分顺序进行评选 Top3 的学习者。
打卡链接:https://shimo.im/forms/TX81bYDbhD8xRgoy/fill
打卡可以写在一个地址,每次有新完成的可以重复提交打卡!
昵称 | 得分 |
---|---|
davidzhou0803 | 8 |
刘鹏华 | 3 |
Shinerise | 3 |
Zouia Gail | 3 |
Je vais bien | 2 |
统计小白er | 3 |
老胡中肯 | 3 |
Z1998zs | 2 |
༺ཌ༈閉關修煉༈ད༻ | 1 |
Nikii-Zhang | 1 |
涅墨西斯 | 1 |
likr💕 | 1 |
jo | 1 |
潇墨 | 1 |
孙宇翔 | 1 |
xx | 1 |
【湫】 | 1 |
Top1的学习者将获得以下奖励:
Top2-3的学习者将获得以下奖励:
历史活动打卡链接,可以参考如下格式:
赛题以新闻APP中的新闻推荐为背景,要求选手根据用户历史浏览点击新闻文章的数据信息预测用户未来点击行为,即用户的最后一次点击的新闻文章,测试集对最后一次点击行为进行了剔除。通过这道赛题来引导大家了解推荐系统中的一些业务背景,解决实际问题,帮助竞赛新人进行自我练习、自我提高。
数据文件说明:
train_click_log.csv
:训练集用户点击日志testA_click_log.csv
:测试集用户点击日志articles.csv
:新闻文章信息数据表articles_emb.csv
:新闻文章embedding向量表示sample_submit.csv
:提交样例文件Field | Description |
---|---|
user_id | 用户id |
click_article_id | 点击文章id |
click_timestamp | 点击时间戳 |
click_environment | 点击环境 |
click_deviceGroup | 点击设备组 |
click_os | 点击操作系统 |
click_country | 点击城市 |
click_region | 点击地区 |
click_referrer_type | 点击来源类型 |
article_id | 文章id,与click_article_id相对应 |
category_id | 文章类型id |
created_at_ts | 文章创建时间戳 |
words_count | 文章字数 |
emb_1,emb_2,…,emb_249 | 文章embedding向量表示 |
MRR(Mean Reciprocal Rank)
:首先对选手提交的表格中的每个用户计算用户得分:
$$ score(user)=\sum_{k=1}^5\frac{s(user,k)}{k} $$
如果选手对该user
的预测结果predict k
命中该user
的最后一条购买数据则s(user,k)=1
; 否则s(user,k)=0
。而选手得分为所有这些score(user)
的平均值。
提交前请确保预测结果的格式与sample_submit.csv中的格式一致,以及提交文件后缀名为csv。其格式如下:
user_id,article_1,article_2,article_3,article_4,article_5
其中user_id
为用户id
, article_1,article_2, article_3, article_4, article_5
为预测用户点击新闻文章Top5的article_id
依概率从高到低排序,例如:
user_id,article_1,article_2,article_3,article_4 ,article_5
200000,1 ,2,3,4,5
200001,1 ,2,3,4,5
200002,1 ,2,3,4,5
200003,1 ,2,3,4,5
任务名称 | 难度 |
---|---|
任务1:比赛报名与读取 | 低、1 |
任务2:比赛数据分析 | 中、2 |
任务3:验证集构造与本地评分 | 中、2 |
任务4:协同过滤思路 | 高、3 |
任务5:树模型与特征工程 | 中、2 |
任务6:深度学习思路 | 高、3 |
任务7:多模型训练与集成 | 高、3 |
import pandas as pd
import numpy as np
articles = pd.read_csv('articles.csv')
articles_emb = pd.read_csv('articles_emb.csv')
train_clicks = pd.read_csv('train_click_log.csv')
test_clicks = pd.read_csv('testA_click_log.csv')
你可以自己撰写代码,完成自己的数据分析,如下是一些分析结论样例:
1. 训练集和测试集的用户id没有重复,也就是测试集里面的用户模型是没有见过的
2. 训练集中用户最少的点击文章数是2, 而测试集里面用户最少的点击文章数是1
3. 用户对于文章存在重复点击的情况, 但这个都存在于训练集里面
4. 同一用户的点击环境存在不唯一的情况,后面做这部分特征的时候可以采用统计特征
5. 用户点击文章的次数有很大的区分度,后面可以根据这个制作衡量用户活跃度的特征
6. 文章被用户点击的次数也有很大的区分度,后面可以根据这个制作衡量文章热度的特征
7. 用户看的新闻,相关性是比较强的,所以往往我们判断用户是否对某篇文章感兴趣的时候, 在很大程度上会和他历史点击过的文章有关
8. 用户点击的文章字数有比较大的区别, 这个可以反映用户对于文章字数的区别
9. 用户点击过的文章主题也有很大的区别, 这个可以反映用户的主题偏好 10.不同用户点击文章的时间差也会有所区别, 这个可以反映用户对于文章时效性的偏好
任务5:树模型与特征工程(排序阶段)
任务6:深度学习思路(排序阶段)
任务7:多模型训练与集成
© 2019-2023 coggle.club 版权所有 京ICP备20022947 京公网安备 11030102010643号