5.8 KiB
Python 中推荐系统的理论介绍
原文:https://www.askpython.com/python/examples/theory-intro-recommendation-systems
读者你好!今天,我们将学习 Python 中的推荐系统。
到本文结束时,您会知道:
它是什么,它们如何工作,需求是什么,它们的分类,需要哪些 python 模块,等等。所以,读完这篇文章,了解推荐系统的所有基础知识。我们开始吧
1.什么是推荐系统?
推荐系统,或称推荐系统,顾名思义,是向用户推荐某样东西的系统。这些工具可以提供一些建议,比如买什么东西,听什么歌,看什么电影。
这是我们每个人都在某个平台上经历过的事情。你有没有注意到,你今天在社交媒体上看到的广告,无论是 Instagram、脸书还是 YouTube,都是你今天早上搜索的同一件商品?如果没有,现在就观察。比方说,如果你在谷歌上搜索运动鞋,下次你打开 YouTube,你首先看到的将是运动鞋的广告。这是推荐系统的一个很好的例子。
因此,推荐系统是一个信息过滤系统,它预测用户可能喜欢看什么、买什么或读什么。
2.推荐系统是如何工作的?
现在我们已经了解了什么是推荐系统,让我们更进一步,看看它们是如何工作的。
推荐系统是数据科学和机器学习最重要的应用之一。这些系统的主要目标是为用户提供个性化的体验。
几乎每个主要的科技公司都在使用它。亚马逊使用这个系统向用户推荐他们的产品,youtube 使用它根据你的历史向你推荐视频(类似于你看过的视频),网飞,亚马逊 Prime,Hotstar 使用它根据不同的算法向你推荐电影,Spotify 使用它进行音乐推荐。
这些平台大多根据你的历史,或者你通常喜欢和选择观看的类型等向你推荐项目。
但是如果你是一个新用户,那么这些平台也会显示一些推荐。这些推荐是基于他们的畅销书或歌曲,可能是前 20 名。
2.1.推荐系统的机制
让推荐系统发挥作用的步骤包括:
- 数据收集
这一步包括从用户或不同来源收集数据,以便系统可以根据获得的数据个性化用户的体验。
有两种方法可以做到:
首先,明确地说。该数据由用户以电影评论、评级等形式有意提供。
第二,含蓄。这些数据仅从用户处收集,但并非有意收集。它是从其他可用的数据流中收集的,如搜索历史、订单历史、点击等。
- 数据存储
收集完数据后,我们需要高效、有序地存储这些数据。数据量大得多,要妥善管理。数据量越多,推荐系统越好。
收集的数据类型决定其存储。它可能是一个标准的 SQL 数据库,也可能没有 SQL 数据库。
- 数据过滤
存储数据后,下一步是过滤数据。我们需要过滤数据以提取相关信息,这将有助于做出最终建议。
使用现有的几种算法之一来过滤数据。我们将在下一节讨论过滤数据的不同算法。
2.2 数据分类
推荐系统在不同的基础上推荐项目,要理解,它们主要分为 3 类:
- 简单的推荐系统
- 基于内容的推荐系统
- 协同过滤推荐系统
2.2.1 简单推荐系统
这些系统以概括的方式推荐一个项目。即,不管用户的历史如何,这些推荐对于每个用户都是相同的。推荐是基于流行度的,比如 IMDb 排名前 10 的电影,或者可能是流派,比如某个特定流派的前 5 首歌曲,诸如此类。
2.2.2 基于内容的推荐系统
这些系统根据你的历史向你推荐一件商品。它使用元数据向您推荐一个与您过去观看或喜欢的项目相似的项目。一个最有经验的例子就是你的 YouTube feed。它显示的视频与你已经看过的视频相似。此外,网飞、Hotstar 等 OTT 平台也使用这一系统。
2.2.3 协同过滤推荐系统
该算法不使用特定用户的偏好。它被广泛使用。它根据具有相似品味的其他用户对某个项目的评分,向特定用户推荐他/她可能喜欢的项目。
比方说,存在两个用户 A 和 B。两者都使用书籍推荐系统,并且都被要求给几本书打分。他们给出了相似的评级。喜欢都给了一个虚构的小说 5 星,给了一个非虚构的 3 星。然后,该算法将识别用户 A 阅读但 B 未阅读的书籍,然后将这些书籍推荐给用户 B。这就是该过滤的工作方式,并且它不需要任何项目元数据。
3.用 python 实现推荐系统所需的库
既然你已经了解了关于推荐系统的几乎所有东西。让我们学习一些 python 基础知识。在这一节中,我们将讨论实现基本推荐系统所需的 python 库。
- Scikit learn :它是 python 中的一个开源机器学习库,提供了预测数据分析的简单工具。
- Pandas :是 python 中的一个开源库,主要用于数据的分析和操作。
- Numpy:这是一个 python 库,有助于线性代数、矩阵和数组领域的工作。
4.为什么需要推荐系统?
推荐系统被广泛用于增加收入。科技公司投入大量资金让他们的推荐引擎变得有效。帮助用户购买更相关的产品。电影或歌曲推荐系统不断推荐电影,以便用户保持对其平台的关注。
推荐系统帮助组织有效地做出商业决策。
这些系统对用户也很有帮助。用户不必浪费时间来做出选择。系统会为他们做这件事。
结论
恭喜你,你坚持到了最后。你已经学习了推荐系统的基本理论。
我希望这篇文章对你有帮助。