1. 系统描述:
数据集一共3个,每一个的格式和排版都不同。一共100条笑话,6万个用户。评分区间从
-10到10,缺省值为99。目标是给每一个用户推荐新的笑话。
2. 实施思路:
在预处理阶段,我把三个数据集合一成<user-id , joke-id , rank >元组形式储存,把0到10的
用户评分依次加1,然后把缺省值99改为0。
在实施阶段,我用LFM和item-base模型两种方法分别完成用户推荐。在LFM(Latent
Factor Models)中,随机选取70%用户作为训练数据,剩余作为测试数据。然后,对用户评分 矩阵做隐藏因子分解,其中隐藏因子分别取值为10、20、50和200。损失函数为交叉熵,学习 率为0.0001。在item-base中,用sklearn框架生成item特征矩阵,然后对缺省值进行补全。在 推荐阶段,依次对每一个用户补全的高于5分评分的笑话推荐给用户。