[发明专利]一种基于Hadoop的加权Slope One推荐算法在审
申请号: | 201810022872.6 | 申请日: | 2018-01-10 |
公开(公告)号: | CN108133040A | 公开(公告)日: | 2018-06-08 |
发明(设计)人: | 杜友明;顾嘉奇;吴宏杰;杨茹;戴大东;沈华祥 | 申请(专利权)人: | 苏州科技大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06Q30/02 |
代理公司: | 苏州睿昊知识产权代理事务所(普通合伙) 32277 | 代理人: | 张敏 |
地址: | 215000 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 电影 预测 加权 矩阵 加权算法 评分矩阵 用户评价 一次性 算法 统计 输出 | ||
1.一种基于Hadoop的加权Slope One推荐算法,其特征在于,包括以下步骤:
S101读取用户评分文件中的数据,形成每个用户对不同项目的评分矩阵;
S102读取评分矩阵中的数据,计算每个用户对自己评价过的每两部电影之间的评分差值,整理统计每两部电影的全部评分差值总和以及对此评价的用户数,计算这两部电影的平均评分差值;
S103读取评分矩阵中的数据,将其中每个用户评价过的每两部电影筛选出来,最终统计得到同时看过两部电影的总人数;
S104读取用户评分文件中的数据,获取所有用户评分过的电影,输出每位用户对每部电影的评分,未评过则记为0,保存所有数据;
S105计算得出用户评价过的电影评分加上预测电影与该电影的平均差的和;
S106统计得出每个用户对每个预测电影和另一部评价过的电影,且也评价过的其他用户对此电影评价的加权值之和,以及同时评价过这两部电影的用户数;
S107计算获取用户对未评价的电影的预测值。
2.如权利要求1所述的基于Hadoop的加权Slope One推荐算法,其特征在于,S101的算法为:
输入:ratings.dat,
输入格式:userID::movieID::pref::time,
输出:Step1Output,
输出格式:userID movieID1:pref1,movieID2:pref2,...
读取ratings.dat中的数据,
map操作:
读取数据;
每条数据用split(::)分割;
将key设为userID,value设为movieID:pref;
将键值收集传递给shuffle整理;
reduce操作:
将shuffle整理过的键值按照键,将值读进;
每个值之间加入一个,;
将key设为userID,value设为movieID1:pref1,movieID2:pref2,...;
将键值收集保存;
保存全部经过map和reduce操作处理过的数据到Step1Output中。
3.如权利要求1所述的基于Hadoop的加权Slope One推荐算法,其特征在于,S102的算法为:
输入:Step1Output
输入格式:userID movieID1:pref1,movieID2:pref2,...
输出:Step2Output
输出格式:movieID1:movieID2sub(pref的平均差值)
读取Step1Output中的数据
map操作:
读取数据;
每条数据用split(:)分割;
两个for循环计算每个用户所评价过的每两部电影之间的评分差值;
将key设为movieID1:movieID2,value设为sub(评分差值);
将键值收集传递给shuffle整理;
reduce操作:
将shuffle整理过的键值按照键,将值读进;
统计每两部电影的全部评分差值的值个数count及总和sub;
计算平均的评分差值;
规范评分差值的格式,限定格式为DecimalFormat(#.0000);
将key设为movieID1:movieID2,value设为sub(pref的平均差值);
将键值收集保存;
保存全部经过map和reduce操作处理过的数据到Step2Output中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州科技大学,未经苏州科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810022872.6/1.html,转载请声明来源钻瓜专利网。