且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

推荐系统入门之使用协同过滤实现商品推荐

更新时间:2022-02-16 20:17:29

简介

场景将使用机器学习PAI平台,指导您搭建一个基于协同过滤算法的商品推荐系统。

背景知识

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

协同过滤算法是一种基于关联规则的算法。以购物行为为例,如果用户甲和用户乙都购买了商品A和商品B,则可以假定用户甲和用户乙的购物品味相似。当用户甲购买了商品C,而用户乙未购买时,可以将商品C推荐给用户乙,这就是经典的User-Based,即以User的特性为关联。

开通机器学习PAI服务

1, 使用阿里云账号登录阿里云官网
推荐系统入门之使用协同过滤实现商品推荐

  1. 在顶部的导航栏,依次将鼠标悬停到产品>人工智能处,然后单击机器学习平台PAI。

推荐系统入门之使用协同过滤实现商品推荐

3.在机器学习PAI控制台首页,单击立即开通。

创建PAI Studio项目

1.在控制台左侧导航栏,单击可视化建模(Studio)。
推荐系统入门之使用协同过滤实现商品推荐

2.在PAI Studio页面单击创建项目。
推荐系统入门之使用协同过滤实现商品推荐

  1. 在右侧弹出的创建项目页面,MaxCompute选择按量付费,填入项目名称,然后单击确定。

PAI Studio底层计算依赖MaxCompute,如果您未开通过当前区域的MaxCompute,请按照页面提示去购买。

创建实验

1.单击左侧导航栏的首页。
推荐系统入门之使用协同过滤实现商品推荐

2.在模板列表找到【推荐算法】商品推荐,然后单击从模板创建。
推荐系统入门之使用协同过滤实现商品推荐

查看实验数据

1.右键单击cf_训练_data节点,然后单击查看数据。

推荐系统入门之使用协同过滤实现商品推荐
源数据的字段解释如下:
user_id 用户编号 STRING 购物的用户ID。
item_id 物品编号 STRING 被购买物品的编号。
active_type 购物行为 STRING 0:表示点击。1:表示购买。2:表示收藏。3:表示加入购物车。
active_date 购物时间 STRING 购物发生的时间。
可以看到训练数据为7月份以前的用户购买行为数据。

2.右键单击cf_结果_data,然后单击查看数据。
推荐系统入门之使用协同过滤实现商品推荐
可以看到结果数据为7月份以后的用户购买行为数据。

运行实验

1.单击左上角运行。
推荐系统入门之使用协同过滤实现商品推荐

  1. 请耐心等到3~5分钟,实验运行完成如下所示。

推荐系统入门之使用协同过滤实现商品推荐

查看实验结果

1.右键单击join-1节点,然后单击查看数据。
推荐系统入门之使用协同过滤实现商品推荐

表中similar_item字段为经过协同过滤算法计算得出的该用户购买可能性最大的商品。

  1. 单击全表统计-1节点,然后单击查看数据。

推荐系统入门之使用协同过滤实现商品推荐
表1统计了根据协同过滤算法推荐的商品数量,共有18065个商品可推荐。

3.单击全表统计-2节点,然后单击查看数据。
推荐系统入门之使用协同过滤实现商品推荐
表2统计了7月份真实购买行为数据中与经过协同过滤算法所推荐的商品的命中数量,可以看到有60个推荐的商品被购买。

简介

场景将使用机器学习PAI平台,指导您搭建一个基于协同过滤算法的商品推荐系统。

背景知识

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

协同过滤算法是一种基于关联规则的算法。以购物行为为例,如果用户甲和用户乙都购买了商品A和商品B,则可以假定用户甲和用户乙的购物品味相似。当用户甲购买了商品C,而用户乙未购买时,可以将商品C推荐给用户乙,这就是经典的User-Based,即以User的特性为关联。

开通机器学习PAI服务

1, 使用阿里云账号登录阿里云官网
推荐系统入门之使用协同过滤实现商品推荐

  1. 在顶部的导航栏,依次将鼠标悬停到产品>人工智能处,然后单击机器学习平台PAI。

推荐系统入门之使用协同过滤实现商品推荐

3.在机器学习PAI控制台首页,单击立即开通。

创建PAI Studio项目

1.在控制台左侧导航栏,单击可视化建模(Studio)。
推荐系统入门之使用协同过滤实现商品推荐

2.在PAI Studio页面单击创建项目。
推荐系统入门之使用协同过滤实现商品推荐

  1. 在右侧弹出的创建项目页面,MaxCompute选择按量付费,填入项目名称,然后单击确定。

PAI Studio底层计算依赖MaxCompute,如果您未开通过当前区域的MaxCompute,请按照页面提示去购买。

创建实验

1.单击左侧导航栏的首页。
推荐系统入门之使用协同过滤实现商品推荐

2.在模板列表找到【推荐算法】商品推荐,然后单击从模板创建。
推荐系统入门之使用协同过滤实现商品推荐

查看实验数据

1.右键单击cf_训练_data节点,然后单击查看数据。

推荐系统入门之使用协同过滤实现商品推荐
源数据的字段解释如下:
user_id 用户编号 STRING 购物的用户ID。
item_id 物品编号 STRING 被购买物品的编号。
active_type 购物行为 STRING 0:表示点击。1:表示购买。2:表示收藏。3:表示加入购物车。
active_date 购物时间 STRING 购物发生的时间。
可以看到训练数据为7月份以前的用户购买行为数据。

2.右键单击cf_结果_data,然后单击查看数据。
推荐系统入门之使用协同过滤实现商品推荐
可以看到结果数据为7月份以后的用户购买行为数据。

运行实验

1.单击左上角运行。
推荐系统入门之使用协同过滤实现商品推荐

  1. 请耐心等到3~5分钟,实验运行完成如下所示。

推荐系统入门之使用协同过滤实现商品推荐

查看实验结果

1.右键单击join-1节点,然后单击查看数据。
推荐系统入门之使用协同过滤实现商品推荐

表中similar_item字段为经过协同过滤算法计算得出的该用户购买可能性最大的商品。

  1. 单击全表统计-1节点,然后单击查看数据。

推荐系统入门之使用协同过滤实现商品推荐
表1统计了根据协同过滤算法推荐的商品数量,共有18065个商品可推荐。

3.单击全表统计-2节点,然后单击查看数据。
推荐系统入门之使用协同过滤实现商品推荐
表2统计了7月份真实购买行为数据中与经过协同过滤算法所推荐的商品的命中数量,可以看到有60个推荐的商品被购买。