注:
1. 数据集合来源自 MovieLens
2. 末尾附上源代码
一、Introduction
现在,各大网络购物平台的购物都会有评分机制,商家要给用户推荐其满意的商品,就需要了解用户的行为,基于用户行为进行分析,从而预测并给用户推荐适合的商品,提高商品转化率。用户行为多种多样,本实验是基于用户评分的行为,来预测用户未来的评分,一次作为给用户推荐的因素之一。
二、Methodology
将已有的数据分割为两部分,一部分作为用户过去的行为集(即训练集),另一部分作为用户评分预测集(即测试集),通过用户的行为集来预测其对其他未评分商品的评分。然后将预测的评分集与测试集比较进行误差计算。
步骤:
- 读取数据文件,生成用户评分矩阵(行标为用户id,列标为电影id,元素值为评分).
- 对评分矩阵进行分割,生成训练集和测试集并存入两个矩阵当中。
- 对训练集使用LFM算法,得到隐含因子模型矩阵。
- 通过step 3的隐含因子模型矩阵生成一个预测矩阵。
- 将预测矩阵集与测试集进行比较 ,得到误差数据。
三、Trading Algorithm
隐含语义模型(LFM):
隐含语义技术简介
假设用户A的兴趣涉及侦探小说、科普图书以及一些计算机技术书,而用户B的兴趣比较集中在数学和机器学习方面。那么,如何给A和B推荐图书呢?
除了UserCF和ItemCF,还有一种方法:对用户的兴趣和书进行分类。对于某个用户,首先得到他的兴趣分类,然后从分类中挑选他可能喜欢的物品。
总结一下,这个基于兴趣分类的方法大概需要解决3个问题:
(1) 如何给物品进行分类?
(2) 如何确定用户对哪些类的物品感兴趣,以及感兴趣的程度?
(3) 对于一个给定的类,选择哪些属于这个类的物品推荐给用户,以及如何确定这些