基于用户的协同过滤推荐算法_个性化社交网络推荐系统 基于用户评分的协同过滤推荐算法 用户信任度 KMeans聚类算法 测评指标...

 个性化社交网络协同过滤推荐系统依赖用户的社交关系(用户关注用户的操作数据,称为用户之间的信任度),根据用户对项目的评分数据,计算目标用户的最近邻居,同时将目标用户信任的用户加入最近邻居,进行推荐,旨在提高目标用户信任的其他用户的相似用户的项目推荐,达到推荐更准确的目的。 本文主要讲解了个性化社交网络协同过滤推荐系统实现的开发环境、数据集、开发过程、协同过滤推荐算法、推荐算法测评指标、实现结果等内容。 # 一、个性化社交网络协同过滤推荐系统开发工具及开发环境介绍 1、开发工具:MyEclipse,jdk1.7,tomcat7,mysql5.5,navicat; 2、开发框架:Spring+Struts+Hibernate,页面采用jsp,jquery脚本,bootstrapt脚本,layer弹窗组件。 # 二、个性化社交网络协同过滤推荐系统数据集介绍 本系统采用filmtrust数据集,数据集一共两个文件trust.txt和ratings.txt,trust.txt是用户信任度数据文件,共1853条数据,ratings.txt是用户项目评分数据文件,共35497条数据,用户671个,项目1508个。 # 三、个性化社交网络协同过滤推荐系统开发过程介绍 本系统使用SSH开发框架,mysql数据库,主要代码如下图所示: 1、applicaitonContext.xml配置文件

76809c5529b436b9f9607d0325514d6f.png

2、struts.xml配置文件

26820c936900ec52ae8b2b8bd721e9c6.png

3、数据集处理工具类

eb3c75584b6f0f8708253739d986fc4b.png

4、协同过滤推荐算法工具类

873b5d71793025da7ed62f5eafe29533.png

5、KMeans聚类算法工具类

a9c2e159ae975011ae84eb1b9561549f.png

6、mysql数据库

df6bfc493e1bcb42dedf9422bd7b5f87.png

# 四、个性化社交网络协同过滤推荐系统协同过滤推荐算法介绍 本系统采用基于用户根据评分数据+聚类+信任用户数据填充提高信任用户相似度的推荐算法。 系统在启动后,会分页查找所有评分数据,并构建用户-项目评分矩阵,根据用户项目评分矩阵进行用户聚类(聚类算法的计算时间很长故在项目启动时运行,本聚类算法的初始中心点选择采用随机选择,随机选择对聚类的结果有影响,每次聚类结果都会不一样,也可更改其他参数影响聚类结果,最优聚类结果需要不断调试参数计算,可通过JunitTest类进行不断测试),用户在系统首页输入用户id,然后首先找到该用户所在的聚类中的簇,将簇中所有用户点构建成用户-项目评分矩阵,同时利用用户之间的信任度,将当前用户的信任用户填充进用户-项目评分矩阵,并填充当前用户的评分数据,如果信任用户对相同项目有评分,则不填充该项目评分,这样操作,用户与信任用户之间会有较高相似度,然后根据用户-项目评分矩阵计算当前用户的最近邻用户,最后就是推荐。 # 五、个性化社交网络协同过滤推荐系统推荐算法测评指标介绍 测评指标采用MAE平均绝对误差、recall召回率、precision查准率,算法的比较是四中介绍的算法与四去掉聚类算法的比较,经过多次计算添加聚类的算法的MAE、recall、precision都优于没有添加聚类的算法。 # 六、个性化社交网络协同过滤推荐系统实现结果介绍 1、系统首页

5ef72e9ff9545f025415333900da9dbd.png

2、KMeans聚类结果1

61838f8d2107a5cd3b5d05a45a182d0b.png

3、KMeans聚类结果2

a71ecd49054b09a45bade734d7ef931b.png

4、推荐结果1

32d65aa3de78f6a99f1a52aa3e63968a.png

5、推荐结果2

d200e96d7e0cb44b5e5bf32d61e0a95a.png

6、测评指标

0d86c4f074c9d05a28cf88990418039f.png

作者专业长期研究各种协同过滤推荐算法,欢迎留言、私信互相交流学习,后续会不断更新不同的协同过滤推荐算法,欢迎关注。扣511873822

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值