项目分析:对于7种图书推荐算法的组合评测

时间:2022-10-23 20:36:45

可能的问题和分析


一:数据量有多大?
rating.csv:行为数据
user.csv:属性数据

-3列数据:用户ID,图书ID, 用户对图书的评分
-图书数: 1000个
-用户数: 200个
-记录数: 4000次的图书评分

-3列数据:用户ID,用户性别,用户年龄
–用户数: 200个
–用户性别: M为男性,F为女性
–用户年龄: 11-80岁之间


二:如何实现7种组合算法?
useCF:欧几里得相似度+最近邻居+user推荐器
useCF:对数似然+最近邻居+user推荐器
useCF:欧几里得相似度+最近邻居+布尔型user推荐器

itemCF:+item推荐器item推荐器
itemCF:对数似然++item推荐器
itemCF:+item推荐器+布尔型item推荐器

slopeone


基于用户的协同过滤算法:
–用户相似度距离+ 最近邻算法+ 推荐算法(有评分,无评分)

基于物品的协同过滤算法:
–用户相似度距离+ 推荐算法(有评分,无评分)


三:对于项目如何实现算法评估?
查准率:被检索到的,越相关的越多越好,丌相关的越少越好,越大越好。
召回率(查全率):被检索到的越多越好,越大越好。



四:算法的实现方式:单机还是分布式实时?
系统架构:Mahout中推荐过滤算法支持单机算法和分步式算法两种
注意本项目基于单机算法
因为:
1,数据很小,最大几G,在单机内存计算,支持多种算法推荐算法,
部署运行简单,但处理数据量有限。
2,hadoop只支持仅有的几种算法,不一定能满足本项目的7种组合算法
部署运行复杂,支持海量数据


五:具体步骤

(1)mvn archetype:generate

-DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=org.chennan.mymahout

-DartifactId=myMahout -DpackageName=org.chennan.mymahout

-Dversion=1.0-SNAPSHOT -DinteractiveMode=false

注意:在正式输入的时候不要留空格,我这里只是为了保持美感

(2)cd myMahout

(3)mvn clean install