本文为您介绍如何基于对象特征进行商品推荐。
前提条件
已创建工作空间,详情请参见创建工作空间。
背景信息
该工作流首先对一份真实电商的4月份和5月份数据进行模型训练并生成预测模型,然后通过6月份的购物数据对该预测模型进行评估,最终选择最优的模型,并将其部署为EAS服务供业务方调用。
本工作流使用的数据为真实电商脱敏数据,仅用于学习,请勿商用。
该工作流数据和完整业务流程已经预置在Designer模板中,您通过拖拽组件即可快速实现一套基于协同过滤的推荐系统。同时,Designer支持模型一键部署,您可以一键将模型部署为EAS服务。
基于对象特征的推荐场景通用流程
将数据导入MaxCompute,生成有监督的结构化数据。
进行特征工程,例如数据的预处理和特征衍生。特征衍生的作用是扩充数据维度,使数据能更大限度地展示业务特点。
将数据拆分为两份。其中一份作为训练数据,通过分类算法生成二分类模型。另一份作为预测数据,通过预测组件对模型效果进行测试。
通过评估组件,获得模型效果。
数据集
本数据源由天池大赛提供,根据时间将其分为4月份和5月份的购买行为数据和6月份的购买行为数据,具体字段如下。
字段名 | 含义 | 类型 | 描述 |
user_id | 用户编号 | STRING | 购物的用户ID。 |
item_id | 物品编号 | STRING | 被购买物品的编号。 |
active_type | 购物行为 | STRING |
|
active_date | 购物时间 | STRING | 购物发生的时间。 |
工作流的原始数据示例如下。
实现基于对象特征的推荐
进入Designer页面。
登录PAI控制台。
在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
在工作空间页面的左侧导航栏选择 ,进入Designer页面。
构建工作流。
在Designer页面,单击预置模板页签。
在模板列表,单击基于对象特征的推荐下的创建。
在新建工作流对话框,配置参数(可以全部使用默认参数)。
其中:工作流数据存储配置为OSS Bucket路径,用于存储工作流运行中产出的临时数据和模型。
单击确定。
您需要等待大约十秒钟,工作流可以创建成功。
在工作流列表,双击基于对象特征的推荐工作流,进入工作流。
系统根据预置的模板,自动构建工作流,如下图所示。
区域
描述
①
特征工程。将仅有4个字段的原始数据通过特征工程的方法进行数据维度扩充,该实验中的特征包括推荐对象的特征和被推荐对象的特征:
推荐对象为用户(User),扩充的维度为每个User的总购买量、总点击量及总点击购买率(点击量除以购买率,用于描述用户购物的果断性)。
被推荐对象为商品(Item),扩充的维度为每个Item的购买量、点击量及点击购买率(购买量除以点击率)。
特征工程后,数据集从原始的4个字段扩充到10个字段,如下图所示。
②
该实验使用了逻辑回归算法进行模型训练。
您可以单击逻辑回归二分类-1组件,在右侧字段设置页签,选中是否生成PMML复选框,即可生成PMML模型。
③
模型评估,即使用预留的一部分未参与模型训练的数据评估模型质量。通常,推荐场景都属于二分类实验,可以使用混淆矩阵和二分类评估组件评估模型预测结果。
运行实验并查看输出结果。
单击画布上方的运行。
实验运行结束后,右键单击画布中的逻辑回归二分类-1,在快捷菜单,单击 ,即可导出训练完成的基于对象特征的推荐模型。
右键单击画布中的预测,在快捷菜单,单击 ,即可查看模型预测结果。
查看模型评估结果。
右键单击画布中的二分类评估-1,在快捷菜单,单击可视化分析。
在二分类评估-1区域,单击评估图表页签,查看ROC曲线。
其中蓝色区域的面积为AUC值,面积越大表示模型质量越高。
右键单击画布中的混淆矩阵-1,在快捷菜单,单击可视化分析。
在混淆矩阵-1区域的混淆矩阵页签,查看预测评估指标。
在线部署模型。
如果模型效果达到预期,则可以单击画布上方的模型列表,将其部署为在线服务。具体操作,请参见单模型部署在线服务。