Amazon的推荐系统

用Python构建Amazon产品推荐系统!这项目价值能有2000吗? 我不同意这是最佳的结果,但考虑到我们在整个数据集中仅使用了498196行中的35000行,这是还是可以接受的。正如你所看到的一样,输出的是一个JSON文件,它有{}来打开和关闭字符串,每个列名后面都跟着相应的字符串。使用lambda函数,我们可以将 text_cleaning应用于称为ensemble 中,我们可以通过调用iloc并指示随机记录的索引来随机选择随机产品的数据包。项目的第一步是收集数据。幸运的是,圣地亚哥加州大学的研究人员有一个可以让学生和组织外的个人使用数据进行研究和项目的存储库。 阅读详情

现在的推荐系统特别火啊。做得最好的应该是Amazon了。


amazon


上面是Amazon的图书推荐。

用的就是著名的 协同过滤(Collaborative filtering)算法。

 

我们用一个简单的例子来说明。

下面是一个用户购买的书籍的表格。

 

 

计算机网络

算法导论

人工智能

数据库系统实现

概率统计

GRE 词汇手册

小明

1

0

1

0

1

0

小张

0

1

1

0

1

0

小李

1

1

0

0

0

0

小王

0

0

0

0

1

1

 

上面的1表示购买,0表示没有购买。

那么我们怎么来给小明推荐书籍呢?

先来看看Amazon之前的传统的协同过滤(Collaborative filtering)是怎么做的。

 

首先呢,根据每个人买的书籍,我们可以将每个用户表示成一个向量。

例如,

V(小明)=<1, 0, 1, 0, 1, 0>

V(小张)=<0, 1, 1, 0, 1, 0>

V(小李)=<1, 1, 0, 0, 0, 0>

V(小王)=<0, 0, 0, 0, 1, 1>

然后呢,我们做这样的假设,买书习惯跟小明类似的人,如果购买了小明没有买的书,那么我们就认为,小明很有可能买这本书。

于是,问题变成了找买书习惯跟小明类似的人。提到向量跟相似度,我们自然就想到了用余弦来衡量相似度。

扔个公式在此给那些忘记了的童鞋们。

余弦公式

接下来,大家动手算一下吧。

cos<V(小明), V(小张) >=0.67

cos<V(小明), V(小李) >=0.41

cos<V(小明), V(小王) >=0.41

呵呵,那么跟小明习惯最像的就是小张了。

然后,我们发现小张买了《算法导论》,但是小明没有买,于是我们就给小明推荐《算法导论》。

 

这个方法看起来很不错,那么为什么Amazon提出了另外的一种方法呢?

再来看看Amazon的item-to-item协同过滤系统吧。

有一天呢,Amazon的一个工程师脑袋抽筋,不小心把上面的表格拿错方向了。于是变成了下面的样子。

 

 

 

小明

小张

小李

小王

计算机网络

1

0

1

0

算法导论

0

1

1

0

人工智能

1

1

0

0

数据库系统实现

0

0

0

0

概率统计

0

1

0

1

GRE 词汇手册

0

0

0

1

 

 

如果把书的那一行看成一个向量,有啥发现没?对了,我们可以找相似的人,我们还可以找相似的书!!!

这也就是Amazon的item-to-item协同过滤系统。

很多时候,创新就是这么简单,写paper就是这么容易啊 ,换个方向思考 (呃,那位童鞋,不是叫你把书拿反了看)。

 

下面简单描述一下方法。

我们可以先算出任意两个物品之间的相似度(跟上面类似啊,自己算)。

接下开我们看到小明买了《计算机网络》和《人工智能》的书,把跟这两本书类似的书推荐给小明。

跟《计算机网络》最相似的是 《算法导论》和 《人工智能》,跟 《人工智能》最相似的是 《计算机网络》和 《算法导论》。

最后的结果,是《算法导论》^_^。

 

用这个方法呢,我们就可以给用户推荐说,买了这个商品的用户还购买了***

那这方法是不是有什么优点呢?(废话啊,不然Amazon会拿来用,商人是很聪明的)

 

 Tradition VS Amazon


    Amazon的CF算法可以在离线的情况下把item之间的相似度计算好。当一个用户登陆后,我们需要的也只是检查用户的购买历史,然后把跟这些item相似的item按一定的方法(比如受欢迎程度)排序展现给用户。一般来说,用户购买的东西只是一个小的集合,因此不需要花很多的时间来计算。

    而且,如果用户没有登陆,我们依然可以根据他的浏览历史来做推荐。例如,上面的图片就是我在没有登陆的情况下查看了一下《Beautiful Architecture》,然后Amazon给我做了推荐。

 

 

    对于Amazon这样的网站来说,用户量是远远大于商品数量的。因此,Amazon的CF算法(计算商品相似度)比起传统的CF算法(计算用户相似度),大大地节约了资源。

    对于一个未登陆的用户来说,传统的CF算法没办法根据他的浏览历史来推荐(在线计算一个用户跟其他所有用户的相似度显然不可能)。


参考资料

 

Amazon.com recommendations item-to-item collaborative filtering, Greg Linden, Brent Smith, and Jeremy York • Amazon.com

http://www.cs.umd.edu/~samir/498/Amazon-Recommendations.pdf

 

 

 

 

 

 

 

基于Amazon Review数据构建可落地的推荐系统 推荐系统是个性化服务的核心技术,其本质是通过用户行为建模实现偏好预测与物品匹配。协同过滤作为经典方法,依赖显式反馈(如评分)挖掘用户-商品关系,而Item Embedding则从文本评论中提取语义特征,增强冷启动与长尾覆盖能力。二者融合可显著提升NDCG等排序指标,在电商、内容平台等真实场景中具备高工程价值。本文以Amazon Review Data为驱动,详解如何用Python+Spark+Gensim构建兼顾效果、效率与可维护性的轻量级推荐系统,涵盖数据清洗、ALS矩阵分解、加权文本嵌入及混合相似度计算 阅读详情

相关推荐

第三十篇:推荐系统案例分析:Amazon如何推荐商品?

1.背景介绍 在互联网时代,用户每天都会产生大量的数据。推荐系统作为应对大数据的一种技术手段,已经广泛应用于各个领域,如新闻、音乐、电影、社交网络和电子商务等。在这些领域中,亚马逊(Amazon)作为一个全球性的电子商务平台,其推荐系统的发展历程和技术细节备受关注。本章节将简要介绍推荐系统的基本概念和发展历程,为后续深入讨论亚马逊推荐系统打下基础。

AI天才研究院 1727

RecMind: Large Language Model Powered Agent For Recommendation 论文阅读

虽然推荐系统(RS)通过深度学习取得了显着进步,但当前的RS方法通常在特定任务的数据集上训练和微调模型,限制了它们对新推荐任务的泛化能力以及由于模型规模和数据大小限制而利用外部知识的能力。设计了一个LLMpowered自主推荐代理,RecMind,它能够利用外部知识,利用精心规划的工具提供zero-shot个性化推荐。我们提出了一种自适应规划算法,以提高规划能力。在每一个中间步骤,LLM“自我启发”考虑所有以前探索的状态,以计划下一步。该机制大大提高了模型理解和利用历史信息进行推荐规划的能力。

weixin_72641252的博客 958

深入推荐引擎1:亚马逊产品推荐系统

这篇博客讨论了三个亚马逊推荐系统: 1. 相关产品推荐 related-product recommendation 2. 重复购买推荐 repeat purchase recommendation 3. 查询属性推荐 query attribute recommendation

qq_40985985的博客 1010

LLM4Rec:当推荐系统遇到大语言模型

作者|kaiyuanhttps://bytedance.larkoffice.com/docx/OdGOdfsIPooznDx5ZvfcFqJjnne大家好,这里是NewBeeNLP。大模型LLM在越来越多的领域开始崭露头角,前段时间我们整理了大模型在推荐系统中的应用 survey,当时留了一些坑没填上,今天补上。完整阅读体验可看:https://bytedance.larkoffice.c...

Kaiyuan_sjtu的博客 2905

23、大规模推荐系统构建:从 Apache Spark 到 Amazon DSSTNE

本文详细介绍了如何使用 Apache Spark 和 Amazon DSSTNE 构建大规模推荐系统。首先,通过 Apache Spark 的 ALS 算法实现基于 MovieLens 数据集的推荐系统,并分析其在小规模和大规模数据上的表现差异。接着,介绍了 Amazon DSSTNE 的使用方法,包括数据格式转换、配置文件定义和模型训练与推荐生成。最后,探讨了 Spark 与 DSSTNE 的集成方式,以支持更大规模的推荐系统扩展。文章还深入分析了两种技术的实现细节、应用场景及未来推荐系统的发展趋势,如多

food6的博客 76

序列推荐系统快速入门:基于Amazon数据集的SLi-Rec模型实践

SLi-Rec是一种基于深度学习的序列推荐模型,旨在同时捕捉用户的长期和短期偏好,从而实现精准的个性化推荐。采用注意力机制的"非对称SVD"范式来建模长期用户偏好。通过修改LSTM的门控逻辑,同时考虑时间不规则性和语义不规则性。使用注意力机制动态融合长期组件和短期组件。

步子哥的博客 1271

个性化推荐系统的应用

如图2所示,亚马逊的推荐结果中有一本关于机器学习的书(Introduction to Machine Learning),单击该推荐结果的Fix this recommendaion按钮后,会弹出如图2所示的页面,该页面给用户提供了5种对这个推荐结果进行反馈的方式,包括Add to Cart(加入到购物车)、Add to Wish List(加入到心愿单)、Rate this item(给书打分)、 I own it(我已经有这本书了)和Not interested(对这本书没兴趣)。

qq_55499117的博客 1826

亚马逊推荐系统

亚马逊作为一流的电商其平台服务能力在行业中屈指可数,本文介绍了亚马逊的推荐的核心,有很好的借鉴意义

在线购买率转化高达60%,Amazon推荐系统是如何做到的?

本文由 「AI前线」原创,原文链接:在线购买率转化高达60%,Amazon推荐系统是如何做到的?作者 | 袁源编辑 | VincentAI 前线导读:根据美国财富杂志的报道, Amazon 的销售额高速增长,得益于它将系统整合进用户购买, 从产品发现到付款的整个流程。根据华尔街分析师的估计, Amazon 的在线推荐系统的购买转化率高达 60%。 那么 Amazon 推荐系统的成功秘诀在哪儿呢,让...

weixin_33874713的博客 806

java实现推荐系统源码

java实现推荐系统,基于用户的推荐系统,有实验结果。可以根据此进行推荐系统的实现。

推荐系统(音乐相关推荐算法)

该压缩文件包括,从零开始搭建音乐推荐系统 模型构建与算法调参(建模与评估方法) 基于movielens数据集的推荐预测 基于网易云音乐数据的推荐预测 word2vec 和Song2vec实现 冷启动与用户兴趣预测问题 基于Spark推荐系统实现

推荐系统新星:Amazon产品推荐系统

推荐系统新星:Amazon产品推荐系统 在信息化社会中,网上购物已经成为我们日常生活的一部分。而亚马逊,以其丰富的产品种类和强大的个性化推荐系统闻名于世。现在,一个由数据科学家精心打造的开源项目——Amazon-Product-Recommender-System,正等待你的探索。 项目介绍 这个项目基于亚马逊的评论数据集,涵盖了衣物、鞋子、珠宝和美容产品等多个类别。通过分析用户对产品的评价和评分...

gitblog_00099的博客 642

基于java的推荐系统实现源代码

常用推荐算法java实现~涉及多种相似度计算,比如cosine相似度,欧氏距离等~ (recommand algirithm )

基于hadoop的商品推荐系统_使用 Amazon SageMaker 构建基于 gluon 的推荐系统

背景介绍推荐系统是利用 电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程。个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。最早的推荐算法通常是用关联规则建立的,如著名的啤酒尿不湿的故事,就是利用关联规则推荐商品促进成交的经典案例。而为之而生的算法,如Apriori算法,就是亚马逊所发明的。当我们在Amazon上购买图书...

weixin_39524574的博客 632

潜流式人工湿地计算_复合人工湿地净化水产养殖污水技术

技术概论1. 定义与分类人工湿地是指用人工筑成水池或沟槽,底面铺设防渗漏隔水层,充填一定深度的基质层,种植水生植物,利用基质、植物、微生物的物理、化学、生物三重协同作用使污水得到净化的系统。当池塘养殖污水进入人工湿地时,其污染物被床体吸附、过滤、分解而达到水质净化作用。按照水体流动方式,人工湿地分为表面流人工湿地、水平潜流人工湿地、垂直潜流人工湿地以及由前面几种湿地混合搭配的组合式人工湿...

weixin_42365490的博客 4244

yolov5深度剖析+源码debug级讲解系列(一) yolov5的架构和源码debug准备

前言 前段时间分析了yolov3的源码,这次想带着小伙伴一起把yolov5完全掌握。博主还是保持着一贯的风格,依旧采用debug级别的源码剖析。目的就是让大家可以通过一个系列的文章就把yolov5的架构、设计理念和每一行源码都弄懂。只要小伙伴可以花时间把这个系列读完,就会对yolov5的理解有所提升。 去年参加了kaggle的小麦检测比赛,yolov5在比赛的中段开始呈现霸榜趋势,超越了efficientdet。虽然最后yolov5因为权限等某些问题被kaggle官方禁用了,但是仍然体现出了其强大的能力。值

人唯优的博客 4万+
上一篇: JFreeChart入门
下一篇: 此去经年
FWing
博客等级 码龄20年 15粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值