基于用户的协同过滤算法java实现,皮尔逊相关系数算法 |
您所在的位置:网站首页 › python计算pearson相关系数 › 基于用户的协同过滤算法java实现,皮尔逊相关系数算法 |
基于用户的协同过滤算法,基本思想为当需要根据一个用户的信息对他进行针对性的推荐时,可以从用户库中计算出该用户的最邻用户,也就是信息、喜好最相近的用户,通过最邻用户的喜好来对当前用户来进行推荐。 以电影推荐为示例,一般分为两个步骤,第一步是计算出当前用户的最邻用户,第二步是将最邻用户看过而当前用户没有看过的电影推荐给用户。本课题在计算最邻用户时,采用的也是权重算法,根据用户之间的性别、年龄、喜好分类、相同电影的评分以及观影历史的喜好标签分类分别计算分数,然后按照一定权重计算总分,而在计算喜好分类、相同电影的评分以及观影历史的喜好标签分类的分数时,则是根据两个用户的数据计算皮尔森相关系数。皮尔森相关系数是指两个变量之间的关系程度,介于-1到1之间,绝对值越大,两个变量之间关联性越高,也就是两个用户之间喜好越相近。通过对用户喜好、评分等数据的皮尔森相关系数计算,加上用户的性别、年龄的关联性,即可算出用户的最邻用户,继而达到协同过滤的效果。 流程图设计如下: 设计思路: /** * 基于用户的计算 * 主要原理为根据用户特性以及观影历史的电影特性找到最邻用户,然后推荐最邻用户的观看历史 * 计算最邻用户的计算方式为权重法,总分为100, * 分数比例: * (1)年龄比占5% * (2)性别比占5% * (3)用户喜好标签的皮尔森相关系数占30% * (4)用户观影历史里面电影对应的喜好构成的列表的皮尔森相关系数占30%(每种喜好各自计算比例) * (5)相同电影评分的皮尔森相关系数占30% * 计算过程 * (1)用户的年龄比、性别比、用户喜好标签的皮尔森相关系数、用户观影历史里面电影对应的喜好构成的列表的皮尔森相关系数、相同电影评分的皮尔森相关系数 * (2)查询到最近邻用户 * (3)他的播放历史中用户没有的歌曲,同时也必须是用户喜欢的类型 */ 此方法中关键点在于皮尔逊相关系数(r)计算。 皮尔逊相关系数可以反映两个变量之间的相关性大小,在自然科学领域中,皮尔逊相关系数广泛用于度量两个变量之间的相关程度,其值介于-1与1之间。它是由卡尔·皮尔逊从弗朗西斯·高尔顿在19世纪80年代提出的一个相似却又稍有不同的想法演变而来的。这个相关系数也称作“皮尔逊积矩相关系数”。 当r>0时,表示两变量正相关,r |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |