什么是推荐系统?

推荐系统是能够根据用户的行为、偏好或历史交互向其推荐项目的工具。它们帮助用户在无需手动搜索的情况下找到相关的产品、电影、歌曲或内容。此类系统广泛应用于 YouTube、Amazon 和 Netflix 等平台。

  • 自动推荐项目
  • 利用用户行为和模式
  • 改善内容发现体验
  • 常见于电子商务和娱乐应用程序

!<a href="https://media.geeksforgeeks.org/wp-content/uploads/20250616170546348289/Recommender-Systems.webp">Recommender-Systems推荐系统

推荐系统的类型

让我们来看看几种不同的类型:

1. 基于内容的过滤: 基于内容的过滤通过分析项目特征和用户偏好档案,向用户推荐与其过去喜欢的项目相似的项目。

  • 当用户拥有强烈且一致的偏好时非常有用。
  • 常见于推荐同一类型或风格电影的电影应用中。
  • 优势:无需其他用户的数据即可实现个性化。
  • 局限:缺乏新颖性,因为它仅关注相似的项目。

2. 协同过滤: 协同过滤识别用户行为中的相似性,并基于从众多用户中得出的模式来推荐项目。

  • 适用于包含大量用户交互的数据集。
  • 应用于 Amazon 的“购买了此商品的用户也购买了”以及 Netflix 的推荐功能中。
  • 优势:能够发现用户过往历史记录之外的新项目。
  • 局限:面对新项目或新用户时存在冷启动问题。

3. 混合推荐系统: 混合系统结合了协同过滤和基于内容的方法,以提供更准确、更稳健的推荐。

  • 适用于用户行为和项目特征都能提供价值的场景。
  • 见于 Netflix 等结合了元数据和观看模式的平台。
  • 优势:减少了单一方法的弱点,整体性能更好。
  • 局限:复杂度增加,计算成本更高。

4. 基于知识的推荐系统: 基于知识的系统利用显式的领域知识和用户需求,而不是历史行为来推荐项目。

  • 非常适合房地产或金融产品等高投入领域。
  • 常见于旅行规划应用或贷款产品匹配工具。
  • 优势:不需要过去的交互数据。
  • 局限:构建特定领域的规则需要耗费精力。

5. 上下文感知推荐系统: 这些系统利用时间、地点、设备或情绪等上下文信息来进行个性化推荐。

  • 在移动和基于位置的应用中非常有效。
  • 例如根据一天中的时间或位置推荐餐厅。
  • 优势:通过情境感知提供更高的相关性。
  • 局限:捕获和处理上下文数据的复杂性较高。

工作原理

让我们看看推荐系统是如何工作的,

  • 数据收集: 收集评分、点击、观看、购买、搜索以及项目元数据。
  • 数据预处理: 清洗数据,处理缺失值,并准备用户-项目矩阵。
  • 特征工程: 将用户和项目特征转化为有意义的向量。
  • 模型训练 / 相似度计算: 使用协同过滤、基于内容的模型或深度学习等算法。
  • 预测: 基于学习到的模式为未见过的项目生成相关性得分。
  • 排序与推荐: 按预测的相关性对项目进行排序,并推荐排名靠前的项目。
  • 反馈循环: 随着新的用户交互产生,持续更新模型。

实现方式

让我们通过一个电影推荐系统的示例来看看推荐系统是如何工作的,

> 使用的示例数据集可以从这里下载。

步骤 1:加载并检查数据集

我们将加载并检查数据集,

Python


CODEBLOCK_432fbd35

输出结果

!Screenshot-2025-12-08-111954输出结果

步骤 2:构建用户-项目评分矩阵

  • 将原始数据转换为协同过滤所需的矩阵。
  • 缺失值(未评分)将被替换为零。

Python


CODEBLOCK_166853f4

输出结果

!Screenshot-2025-12-08-111924输出结果

步骤 3:计算项目

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/37736.html
点赞
0.00 平均评分 (0% 分数) - 0