协同过滤算法是一种基于关联规则的算法。以购物行为为例,如果用户甲和用户乙都购买了商品A和商品B,则可以假定用户甲和用户乙的购物品味相似。当用户甲购买了商品C,而用户乙未购买时,可以将商品C推荐给用户乙,这就是经典的User-Based,即以User的特性为关联。
本工作流数据为虚构数据,仅用于学习。
仅考虑了商品的关联性,未考虑推荐商品的属性。以低频消费品的手机为例,如果用户甲在6月份购买了手机,则用户甲在7月份继续购买手机的概率较低。
建议将基于关联规则的推荐作为推荐系统的补充方法。如果需要提高推荐准确率,推荐使用机器学习算法进行模型训练。
字段名
含义
类型
描述
user_id
用户编号
STRING
购物的用户ID。
item_id
物品编号
被购买物品的编号。
active_type
购物行为
0:表示点击。
1:表示购买。
2:表示收藏。
3:表示加入购物车。
active_date
进入Designer页面。
在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应的工作空间。
在工作空间页面的左侧导航栏选择模型开发与训练>可视化建模(Designer),进入Designer页面。
构建工作流。
在Designer页面,单击预置模板页签。
在模板列表的推荐算法-商品推荐区域,单击创建。
在新建工作流对话框,配置参数(可以全部使用默认参数)。
其中:工作流数据存储配置为OSSBucket路径,用于存储工作流运行中产出的临时数据和模型。
单击确定。
您需要等待大约十秒钟,工作流可以创建成功。
在工作流列表,选择推荐算法-商品推荐工作流,单击进入工作流。
系统根据预置的模板,自动构建工作流,如下图所示。
区域
①
根据关联规则生成推荐列表。将7月份之前的购物行为作为数据源,先通过SQL脚本获取用户购买行为数据,再使用协同过滤组件计算与每个Item最相近的Item,从而分析得到每个User可能同时购买的多个商品。
itemid:表示目标商品。
similarity:半角冒号(:)左侧的数据表示与目标商品关联性高的商品,半角冒号(:)右侧的数据表示两个商品的关联性概率。
②
③
统计推荐数和命中数。全表统计-1展示根据7月份之前的购物行为生成的推荐列表,全表统计-2展示命中的推荐。
运行工作流并查看输出结果。
工作流运行结束后,右键单击画布中的全表统计-1,在快捷菜单,单击查看数据>全表统计输出,即可查看生成的推荐列表。
右键单击画布中的全表统计-2,在快捷菜单,单击查看数据>全表统计输出,即可查看命中的推荐。