User-based CF评分预测

Item-based CF的评分预测

 下面是模拟的小案例(分别采用上面的公式)

import pandas as pdusers = ["User1","User2","User3","User4","User5"]
items =["Item A","Item B","Item C","Item D","Item E"]# 用户评分矩阵
dataset = [[5,3,4,4,None],[3,1,2,3,3],[4,3,4,3,5],[3,3,1,5,4],[1,5,5,2,1],
]
df = pd.DataFrame(dataset, columns=items, index=users)# 用户相似度计算  相似度采用皮尔逊相关系数
# 默认按照列进行计算,所以算用户相似度得先转置
user_sim = df.T.corr().round(4)# 物品相似度
item_sim = df.corr().round(4)# 预测user1对itemE的评分# user-based 使用用户间的相似度进行计算
sim_users = user_sim.loc['User1'].drop(['User1']).sort_values(ascending=False)[:2].index
score = 0
sim_sum = 0
for sim_user in sim_users:score += user_sim.loc['User1', sim_user] * df.loc[sim_user, 'Item E']sim_sum += user_sim.loc['User1', sim_user]
score /= sim_sum
score.round(2)#  item-based 使用物品间的相似度进行计算
# 筛选出与Item E相似的top2物品
sim_items = item_sim['Item E'].drop('Item E').sort_values(ascending=False)[:2].index
# 计算User1对这些相似物品的加权评分作为User1对Item E的评分
score = 0
sim_sum = 0
for sim_item in sim_items:score += item_sim.loc[sim_item, 'Item E'] * df.loc['User1', sim_item] sim_sum += item_sim.loc[sim_item, 'Item E']
score /= sim_sum
score.round(3)

黑马推荐系统项目实战【四】CF的评分预测相关推荐

  1. 黑马推荐系统项目实战【二】 相似度计算

    相似度计算 余弦相似度.皮尔逊相关系数 - 皮尔逊会对向量的每个分量做中心化 - 余弦相似度只考虑向量的夹角不考虑长度 - 适合评分是连续的数值 杰卡德相似度 - 交集/并集 - 适合评分是 0, 1 ...

  2. 黑马推荐系统项目实战【三】基于用户的协同过滤 UserCF

    用户物品相似度计算 users = ["User1","User2","User3","User4","Use ...

  3. flutter 项目实战四 列表数据展示

    本项目借用 逛丢 网站的部分数据,仅作为 flutter 开发学习之用. 逛丢官方网址:https://guangdiu.com/ flutter windows开发环境设置 flutter 项目实战 ...

  4. Python基于深度学习算法实现图书推荐系统项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 在线推荐系统是许多电子商务网站的事情.推荐系统广泛地向最适合其口 ...

  5. 2019最新《传智教育黑马java项目实战》

    1.SE基础班 1-1 Java基础语法 1-2 面向对象和封装 1-3 常用API第一部分 1-4 继承与多态 1-5 常用API第二部分 1-6 集合 1-7 异常与多线程 1-8 File类与I ...

  6. 软件测试项目实战32讲,软件测试入门-黑马头条项目实战

    课程简介 本课程以黑马头条实战项目为例,将项目的整个测试流程做了详细的介绍,并带着大家一起进行产品需求评审,项目测试计划编写,测试需求分析,以及测试用例的设计编写和执行操作,通过完成实际的功能业务测试 ...

  7. 爬虫项目实战四:爬取语录大全

    爬取语录大全 目标 项目准备 网站分析 反爬分析 每一页的链接分析 代码实现 效果显示 目标 爬取语录,批量下载到本地. 项目准备 软件:Pycharm 第三方库:requests,fake_user ...

  8. 基于React全家桶开发「网易云音乐PC」项目实战(四)

    前言 前言 hello大家好我是「风不识途」,如果首次阅读本系列请点击,正在学习React的小伙伴可以克隆该项目,参考学习,尝试做一些小功能,下面我们开始完成本系列最重要的音乐播放器列表▶需要完成内容 ...

  9. Java开发快速学习!黑马java项目实战

    一面 自我介绍 项目中的监控:那个监控指标常见的有哪些? 微服务涉及到的技术以及需要注意的问题有哪些? 注册中心你了解了哪些? consul 的可靠性你了解吗? consul 的机制你有没有具体深入过 ...

最新文章

  1. 基于Pygame的Python小游戏,《这是一场滑稽与阴险的较量》
  2. 基于单片机的c语言倒计时程序,30秒倒计时c语言51单片机实现.doc
  3. Permission denied (publickey). fatal: Could not read from remote repository.
  4. Gradle入门:集成测试
  5. java集合详解_「软帝学院」Java进阶者专栏:集合框架详解3
  6. C#使用SetWindowsHookEx时报错“类型的已垃圾回收委托进行了回调”
  7. 亿级流量架构服务降级,写得太好了!
  8. (一)文件系统-ext4特性
  9. ITEXT7 实现 PDF文档的合并与拆分
  10. 通过python来实现“语象观察“自动化进阶版
  11. Centos7 源码安装mysql5.6
  12. jupyter修改工作路径提示找不到指定模块
  13. 使用UI框架时 css不生效 使用/deep/完美解决避免污染全局样式
  14. DBCO-Chondroitin DBCO-软骨素
  15. 常见文件密码破解方法大放送
  16. golang iris 多次消费body
  17. java关闭io流_为什么要关闭和io流
  18. poi导出word2003(动态数据,不用模板,且生成word能再次导入)
  19. docker启动elasticsearch时内存不足问题
  20. 中断发生如何执行到中断服务程序

热门文章

  1. 2022-2027年中国蛋白质粉行业市场深度分析及投资战略规划报告
  2. Google I/O大会相关
  3. 书到用时方恨少,试试运气好不好
  4. GetLastError()返回值列表
  5. Validform表单验证时可以为空,否则按照指定的格式验证
  6. 修复wordpress安装buddypress插件后的警告
  7. 当今世界不和谐的主要原因(作业真烦人,那就随便写一个吧)
  8. 播放录音(系统) AVAudioSessionPortOverrideSpeaker 和 AVAudioSessionCategoryOptionDefaultToSpeaker区别
  9. 谷歌54亿收购Mandiant:提高谷歌云竞争性
  10. Android开发工程师学习指南