Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 82|回复: 0

Python 推荐系统简介

[复制链接]

1

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2024-1-14 17:13:45 | 显示全部楼层 |阅读模式
过去两年中,数据生成的速度显着提高。我们在互联网上学习、创造、探索的选择是无限的。然而; 任何丰富的东西都会产生问题,数据也是如此。它造成了选择的悖论。因为我们有太多的选择,我们很可能最终会选择错误的一个,这就是推荐系统的用武之地。 如果互联网向您推荐您可能喜欢的东西并且准确无误,听起来很棒,对吗?在这个推荐系统 python 教程中,您将了解这个东西是如何工作的以及有哪些不同的方法。 推荐系统的正式定义是,它是信息过滤系统的一个子类,旨在预测用户对某个项目的“评分”或“偏好”。近年来,推荐系统变得越来越流行,并被应用于各种领域,包括电影、音乐、新闻、书籍、研究文章、搜索查询、社交标签和一般产品。 两种不同的方法 这些推荐系统基本上以两种方式之一生成推荐:协作过滤和基于内容的过滤。两种方法都有各自的优点和缺点,但在此之前我们先了解一下这些方法的工作原理。 协作性 协作过滤方法根据用户过去的行为(先前购买或选择的项目和/或对这些项目给出的数字评级)以及其他用户做出的类似决策来构建模型。然后使用该模型来预测用户可能感兴趣的项目(或项目的评级)。 为了举例说明,我们以流行音乐推荐系统last.fm 为例。它通过感知用户每天收听的艺术家和乐队并将其与其他用户的收听行为进行比较来创建推荐歌曲的电台。


由于这种方法会影响用户的行为,因此它是协同过滤技术的完美示例。 截图107 然而; 每个系统都有自 老挝电话号码数据 己的优点和缺点。在此示例中,last.fm 需要大量信息才能做出正确且准确的推荐。这是协同过滤中常见的一个问题,称为冷启动问题。 内容为基础 基于内容的过滤方法利用项目的一系列离散特征来推荐具有相似属性的其他项目。为此,使用关键字来描述项目,并构建用户配置文件来指示该用户喜欢的项目类型。简而言之,这些算法试图推荐与用户过去喜欢的项目相似的项目。 例如另一个音乐推荐平台Pandora 。它仅使用歌曲或艺术家的特征来创建基本上播放具有相似属性的音乐的电台。用户反馈也用于重新定义结果。当用户不喜欢某首特定歌曲时,较少强调与该歌曲相关的某些属性。因此,当用户喜欢某首特定歌曲时,更加强调该歌曲的属性,并在未来展示更多类似的歌曲。 截图106 然而; 就像协同过滤一样,基于内容也有一些局限性。尽管开始时只需要很少的信息,但基于内容的过滤的范围是有限的。 一种新方法,混合推荐系统 最近的研究表明,结合协作过滤和基于内容的过滤的混合方法在某些情况下可能更有效。您可以通过多种方法来做到这一点, 分别进行两个预测,然后将它们组合起来 添加基于内容的协作方法 将协作添加到基于内容的方法中 将方法统一到一个模型中 众所周知,Netflix 是混合推荐系统的一个很好的例子。



它推荐相似用户的观看和搜索习惯,这就是协同过滤。此外,它还推荐与所使用的具有相同特征的高度评价的电影,即基于内容的过滤。 截图108 使用python的推荐系统 现在您已经对推荐系统是什么以及它如何工作有了基本的了解,接下来您要做的就是使用 python 构建推荐系统。让我们使用 python 创建我们自己的基本电影推荐系统。 首先,推荐系统 python 代码需要依赖项,因此我们从导入它们开始。Numpy 和 Scipy 将帮助我们做一些数学计算,而 LightFm 是 python 推荐系统库,它允许我们执行任何流行的推荐算法。LightFm 是一个巨大的库,因此我们只会获取我们需要的模块,fetch_movielens 将为我们获取数据,而 LightFm 稍后将为我们创建一个模型。 导入numpy作为np 导入pandas作为pd 从lightfm.datasets导入fetch_movielens 从lightfm导入LightFM 现在我们将从电影镜头数据集获取数据,这是一个巨大的数据集,包含来自 1K 用户的大约 100K 电影评分。作为可选参数,我们将采用 min_ rating。这意味着我们正在收集评分为 4.0 或更高的电影。然后该方法将在我们的 CSV 文件上创建一个交互矩阵,并将其作为字典存储在我们的数据变量中。字典是一种存储数据的方式,就像列表一样。但是,在字典中,您可以存储任何内容。我们将其存储为字符串。我们的 fetch_movielens 方法将在训练和测试中分割数据,因为我们可以通过关键字“训练”和“测试”来检索它们。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2024-11-28 15:39 , Processed in 0.038673 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表