新闻推荐场景下的用户行为预测挑战赛的赛题理解和baseline

本文详细解读了一次新闻推荐预测挑战赛的赛题,介绍了数据概况、评价方式,并提供了基于ItemCF的基线模型实现,包括用户-文章点击时间列表、物品相似度计算和推荐结果生成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、赛题简介

这次赛题是以新闻APP的新闻推荐为背景,目的是要我们根据用户历史浏览点击新闻文章的数据信息预测用户未来的点击行为,即用户最后一次点击的新闻文章。

二、数据概况

该数据来自某新闻APP平台的用户交互数据,包括30万用户,近300万次点击,共36万多篇不同的文章,同时每篇新闻有对应的embedding向量表示。
https://tianchi.aliyun.com/competition/entrance/531842/learn

三、评价方式理解

理解评价方式,我们需要结合最后提交的文件来看,根据sample.submit.csv来看,我们最后提交的格式是针对每个用户给出5篇推荐文章,按照点击概率从前往后排序。而真实的每个用户最后点击的文章只会有一篇是真实答案,所以就看我们推荐的这5篇文章用户是否有真实答案。比如,对于用户user1来说,我们提交的结果是:user1,article1,article2,article3,article4,article5。评价的指标公式如下
s c o r e ( u s e r ) = ∑ k = 1 5 s ( u s e r , k ) k score(user) = \sum_{k=1}^5 \frac{s(user, k)}{k} score(user)=k=15ks(user,k)
如果用户最后的点击文章是article1,那么s(user1,1)=1,s(user1,2-5)=0。如果article2是用户最后的点击文章,那么s(user1,2)=1。也就是score(user)=命中第几条的倒数,这符合我们的要求,因为我们希望用户的点击文章靠前。

四、赛题理解

1.明确目标

根据用户历史浏览点击新闻的数据信息预测用户最后一次点击的新闻文章。

2.思考方向

如何把预测问题转换成一个监督学习的问题(特征+标签),然后再进行DL、ML建模。

3解决思路

要先转成一个分类问题来做,而分类的标签是用户是否会点击某篇文章,分类问题的特征中会有用户、文章,我们要训练一个分类模型,对用户最后一次点击某篇文章的概率进行预测。

五、Baseline

首先,我们需要知道什么是baseline,baseline就是基准线,通常指能够顺利完成数据预处理、基础的特征工程、模型建立以及结果输出和评价的模型。

1、导包

代码如下(示例):

# import packages
import time, math, os
from tqdm import tqdm
import gc
import pickle
import random
from datetime import datetime
from operator import itemgetter
import numpy as np
import pandas as pd
import warnings
import collections
from collections import defaultdict
warnings.filterwarnings('ignore')
data_path = './data_raw/'
save_path = './tmp_results/'

2、读取采样或全局数据

def get_all_click_sample(data_path,sample_nums =10000):
    all_click = pd.read_csv(data_path+'train_click_log.csv')
    all_users_id = all_click.user_id.unique()
    
    sample_user_ids &
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值