【玩转数据系列四】听说啤酒和尿布很配?本期教你用协同过滤做推荐

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 数据挖掘的一个经典案例就是尿布与啤酒的例子。尿布与啤酒看似毫不相关的两种产品,但是当超市将两种产品放到相邻货架销售的时候,会大大提高两者销量。很多时候看似不相关的两种产品,却会存在这某种神秘的隐含关系,获取这种关系将会对提高销售额起到推动作用,然而有时这种关联是很难通过理性的分析得到的。这时候我们需

(本文数据为虚构,仅供实验)

产品地址:https://data.aliyun.com/product/learn?spm=a21gt.99266.416540.102.OwEfx2

一、背景

数据挖掘的一个经典案例就是尿布与啤酒的例子。尿布与啤酒看似毫不相关的两种产品,但是当超市将两种产品放到相邻货架销售的时候,会大大提高两者销量。很多时候看似不相关的两种产品,却会存在这某种神秘的隐含关系,获取这种关系将会对提高销售额起到推动作用,然而有时这种关联是很难通过理性的分析得到的。这时候我们需要借助数据挖掘中的常见算法-协同过滤来实现。这种算法可以帮助我们挖掘人与人以及商品与商品的关联关系。

协同过滤算法是一种基于关联规则的算法,以购物行为为例。假设有甲和乙两名用户,有a、b、c三款产品。如果甲和乙都购买了a和b这两种产品,我们可以假定甲和乙有近似的购物品味。当甲购买了产品c而乙还没有购买c的时候,我们就可以把c也推荐给乙。这是一种典型的user-based情况,就是以user的特性做为一种关联。

本文的业务场景如下:
通过一份7月份前的用户购物行为数据,获取商品的关联关系,对用户7月份之后的购买形成推荐,并评估结果。比如用户甲某在7月份之前买了商品A,商品A与B强相关,我们就在7月份之后推荐了商品B,并探查这次推荐是否命中。

二、数据集介绍

数据源:本数据源为天池大赛提供数据,数据按时间分为两份,分别是7月份之前的购买行为数据和7月份之后的。
具体字段如下:

字段名 含义 类型 描述
user_id 用户编号 string 购物的用户ID
item_id 物品编号 string 被购买物品的编号
active_type 购物行为 string 0表示点击,1表示购买,2表示收藏,3表示购物车
active_date 购物时间 string 购物发生的时间

数据截图:

三、数据探索流程

首先,实验流程图:

1.协同过滤推荐流程

首先输入的数据源是7月份之前的购物行为数据,通过SQL脚本取出用户的购买行为数据,进入协同过滤组件。协同过滤的组件设置中把TopN设置成1,表示每个item返回最相近的item和它的权重。通过购买行为,分析出哪些商品被同一个user购买的可能性最大。设置图如下:

协同过滤结果,表示的是商品的关联性,itemid表示目标商品,similarity字段的冒号左侧表示与目标关联性高的商品,右边表示概率:

2.推荐

上述步骤介绍了如何生成强关联商品的对应列表。这里使用了比较简单的推荐规则,比如用户甲某在7月份之前买了商品A,商品A与B强相关,我们就在7月份之后推荐了商品B,并探查这次推荐是否命中。这个步骤是通过下图实现的:

3.结果统计

上面是统计模块,左边的全表统计展示的是根据7月份之前的购物行为生成的推荐列表,去重后一共18065条。右边的统计组件显示一共命中了90条。

四、推荐系统反思

根据上文的统计结果可以看出,本次试验的推荐效果并不理想,原因在如下几方面。

1)首先本文只是针对了业务场景大致介绍了协同过滤推荐的用法。很多针对于购物行为推荐的关键点都没有处理,比如说时间序列,购物行为一定要注意对于时效性的分析,跨度达到几个月的推荐不会有好的效果。其次没有注意推荐商品的属性,本文只考虑了商品的关联性,没有考虑商品是否为高频或者是低频商品,比如说用户A上个月买了个手机,A下个月就不大会继续购买手机,因为手机是低频消费品。

2)基于关联规则的推荐很多时候最好是作为补充,真正想提高准确率还是要依靠机器学习算法训练模型的方式。

五、其它

作者微信公众号(与作者讨论):

参与讨论:云栖社区公众号

免费体验:阿里云数加机器学习平台

往期文章:

【玩转数据系列一】人口普查统计案例

【玩转数据系列二】机器学习应用没那么难,这次教你玩心脏病预测

【玩转数据系列三】利用图算法实现金融行业风控

相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
NoSQL Redis Docker
【从零开始】Docker Desktop:听说你小子要玩我
本文旨在帮助读者重新掌握Docker知识,特别是在Windows 10环境下安装与使用Docker Desktop的过程。文章详细介绍了从下载安装到配置镜像源的具体步骤,并通过Redis实例演示了如何拉取镜像和启动容器。
11440 1
【从零开始】Docker Desktop:听说你小子要玩我
|
机器学习/深度学习 算法 搜索推荐
推荐算法介绍
推荐算法介绍
1488 0
|
8月前
|
人工智能 前端开发 算法
大厂CIO独家分享:AI如何重塑开发者未来十年
在 AI 时代,若你还在紧盯代码量、执着于全栈工程师的招聘,或者仅凭技术贡献率来评判价值,执着于业务提效的比例而忽略产研价值,你很可能已经被所谓的“常识”困住了脚步。
5068 91
大厂CIO独家分享:AI如何重塑开发者未来十年
|
12月前
|
自然语言处理 数据挖掘 数据处理
告别低效代码:用对这10个Pandas方法让数据分析效率翻倍
本文将介绍 10 个在数据处理中至关重要的 Pandas 技术模式。这些模式能够显著减少调试时间,提升代码的可维护性,并构建更加清晰的数据处理流水线。
369 3
告别低效代码:用对这10个Pandas方法让数据分析效率翻倍
|
12月前
|
机器学习/深度学习 人工智能 运维
阿里云PAI人工智能平台介绍、优势及收费标准,手动整理
阿里云人工智能平台PAI是面向开发者和企业的机器学习与深度学习工程平台,提供数据标注、模型构建、训练、部署及推理优化等全链路服务。内置140+优化算法,支持PyTorch、TensorFlow等多种框架,具备高性能训练与推理能力,适用于自动驾驶、金融风控、智能推荐、智慧医疗等多个行业场景。PAI提供零代码开发、可视化建模、大模型一键部署等功能,助力企业快速构建AI应用。支持多种购买方式,如按量付费、预付费等,满足不同业务需求。
|
机器学习/深度学习 算法 对象存储
【玩转数据系列十】利用阿里云机器学习在深度学习框架下实现智能图片分类
伴随着今日阿里云机器学习PAI在云栖大会的重磅发布,快来感受下人工智能的魅力。 一、背景 随着互联网的发展,产生了大量的图片以及语音数据,如何对这部分非结构化数据行之有效的利用起来,一直是困扰数据挖掘工程师的一到难题。
51123 71
|
JavaScript 小程序 前端开发
小程序;vue;uniapp优缺点(各5条)
小程序;vue;uniapp优缺点(各5条)
751 1
|
数据可视化 算法 数据挖掘
数据分享|R语言IMDb TOP250电影特征数据挖掘可视化分析受众偏好、排名、投票、评分(上)
数据分享|R语言IMDb TOP250电影特征数据挖掘可视化分析受众偏好、排名、投票、评分
|
编解码 网络协议 程序员
【RTP 传输协议】实时视频传输的艺术:深入探索 RTP 协议及其在 C++ 中的实现
【RTP 传输协议】实时视频传输的艺术:深入探索 RTP 协议及其在 C++ 中的实现
2565 0
|
机器学习/深度学习 人工智能 算法
图解机器学习 | 决策树模型详解
决策树是机器学习中一种经典的分类与回归算法。本文讲解用于分类的决策树,包括算法核心思想、算法过程、最优划分、属性选择、过拟合与连续值处理、缺失值处理等重要知识点。
883 2
图解机器学习 | 决策树模型详解

热门文章

最新文章