推荐引擎是一个能预测用户兴趣点的模型。将推荐引擎应用于电影情境,便成为一个电影推荐引擎,应用到购物中,则成为购物推荐引擎。
通过预测当前用户可能会喜欢的内容,将相应的东西从数据库中筛选出来,这样有助于将用户和数据集中的内容连接起来,通过推荐合适的内容,可以增加用户消费。
推荐引擎通常用协同过滤(CF) 或基于内容的过滤来产生一组推荐。两种过滤方法不同之处在于挖掘推荐方式。协同过滤从当前用户过去的行为和其他用户对当前用户的评分来构建模型,然后使用这个模型来预测用户可能感兴趣的内容。而基于内容的过滤从商品本身的特征来给用户推荐更多商品,商品间的相似度是模型主要的关注点。本文内容的是基于协同过滤实现的。
接下来我们构建一个简易电影推荐引擎。
定义相似度指标
推荐引擎构建需要定义相似度指标,以便找到与数据库中特定用户相似的用户,一般使用欧氏距离分数或皮尔逊相关系数。
皮尔逊相关系数
在统计学中, 皮尔逊相关系数通常情况下通过以下取值范围判断变量的相关强度:
0.8-1.0 极强相关
0.6-0.8 强相关
0.4-0.6 中等程度相关
0.2-0.4 弱相关
0.0-0.2 极弱相关或无相关
皮尔逊相关系数定义为两个变量之间的皮尔逊相关系数定义为两个变量之间的协方差和标准差的商,用公式表示为:
ρx,y=x和y