基于对象特征的推荐

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: (本实验选用数据为真实电商脱敏数据,仅用于学习,请勿商用) 在上一期基于协同过滤的的推荐场景中,我们介绍了如何通过PAI快速搭建一个基于协同过滤方案的推荐系统,这一节会介绍一些如何基于推荐对象特征的推荐方法。

(本实验选用数据为真实电商脱敏数据,仅用于学习,请勿商用)

在上一期基于协同过滤的的推荐场景中,我们介绍了如何通过PAI快速搭建一个基于协同过滤方案的推荐系统,这一节会介绍一些如何基于推荐对象特征的推荐方法。

首先看下整个业务流程图,这是一个基于对象特征的推荐场景的通用流程:

  • 首先把数据导入Maxcompute,有监督的结构化数据
  • 接着做特征工程,在特征工程环节主要做一些数据的预处理以及特征的衍生,特征衍生的作用是扩充数据维度,使得数据能更大限度的表示业务特点
  • 接着把数据通过拆分分成两份,一份通过分类算法生成二分类模型,另一份数据对模型效果进行测试
  • 最后通过评估组件得到模型效果

一、业务场景描述

通过一份真实的电商数据的4、5月份做模型训练生成预测模型,通过6月份的购物数据对预测模型进行评估最终选择最优的模型部署为在线http服务供业务方调用。

本次实验选用的是PAI-Studio作为实验平台,仅通过拖拽组件就可以快速实现一套基于对象特征的推荐系统。本实验的数据和完整业务流程已经内置在了PAI首页模板,开箱即用:

二、数据集介绍

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

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

数据截图:

三、数据探索流程

本次实验选用的是PAI-Studio作为实验平台,仅通过拖拽组件就可以快速实现一套基于协同过滤的推荐系统,并且支持自动调参以及模型一键部署的服务。

实验流程图:

(1)特征工程

在特征工程的流程中是把最原始的只有4个字段的数据通过特种工程的方法进行数据维度的扩充。在推荐场景中有两个方面特征,一方面是所推荐的对象的特征,另一方面是被推荐对象的特征。

在商品推荐这个案例中:

  • 被推荐对象为商品(item),扩充的维度为每个item被购买量、每个item被点击量、每个item被点击购买率(购买量除以点击率)
  • 推荐对象为用户(user),扩充的维度为每个user总的购买量、总的点击量、总的点击购买率(点击数除以购买率,可以得出每点击多少次购买一个产品,可以用来描述用户购物的果断性)

最终数据由原始的4个字段变成了10个字段:

(2)模型训练

现在已经构建了一个大宽表,有了做完特征工程的结构化数据,现在就可以训练模型了。这个案例中选用了逻辑回归算法,在做模型训练过程中有一个痛点就是如何找到合适的参数,对于逻辑回归参数(如下图)而言,如何调整以下几个参数,使得模型训练能达到最好的效果是一个非常有挑战的任务。

为了解决繁琐的调参工作带来的劳动量问题,PAI产品内置了AutoML引擎帮助调参,在页面上打开AutoML,只要设置下需要调参的算法的参数范围以及评估标准,后台引擎即可在最小的资源消耗下找到最合理的参数,详见:

(3)模型评估

模型评估模块是用预留的一部分未参与模型训练的数据评估模型质量,通常推荐场景都是二分类实验,可以使用混淆矩阵和二分类评估组件去评估结果。

  • 二分类评估:打开组件选择“图表”,会展示下图ROC曲线,其中蓝色区域的面积为AUC值,面积越大表示模型质量越高

  • 混淆矩阵:通过混淆矩阵可以确定具体的预测准确率、召回率、F1-Score等指标

(4)模型在线部署

模型生成后,如果效果也达到预期,可以使用PAI-EAS将模型一键部署为在线服务,通过http访问。点击画布上的“部署”按钮,选择“模型在线部署”功能,选择需要部署的模型。

后续流程可以参考在线预测文档:https://help.aliyun.com/document_detail/92917.html

部署成在线服务之后,模型服务可以通过http请求访问,这样就可以做到模型跟用户自身的业务结合,完成PAI模型训练和业务应用的打通。

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
机器学习/深度学习 算法 数据可视化
浅析特征数据离散化的几种方法(上)
什么是离散化? 离散化就是把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。例如:
|
1月前
|
人工智能 算法 数据处理
大模型长上下文与向量检索的关系
AI应用的开发者一直在追求查询质量和成本之间的完美平衡,当大型企业将生成式人工智能投入生产时,需要控制成本,同时保持最佳的响应质量,RAG技术和向量数据库依然是实现这一目标的重要工具。
|
机器学习/深度学习 编解码 PyTorch
基于MeshCNN和PyTorch的三维对象分类和分割
基于MeshCNN和PyTorch的三维对象分类和分割
263 0
基于MeshCNN和PyTorch的三维对象分类和分割
|
9月前
|
机器学习/深度学习 存储 自然语言处理
使用特征包方法进行图像类别分类
使用特征包方法进行图像类别分类。这种技术通常也被称为词袋。视觉图像分类是为受测图像分配类别标签的过程。类别可能包含代表几乎任何东西的图像,例如狗、猫、火车、船。
61 0
|
9月前
|
数据可视化 算法 Serverless
使用分水岭算法分割图像中相互接触的对象
使用分水岭分割来分离图像中相互接触的对象。分水岭变换通过将图像视为一个曲面,其中亮像素表示较高处,暗像素表示较低处,从而找出图像中的“汇水盆地”和“分水岭脊线”。
53 0
|
11月前
|
机器学习/深度学习 算法
在对数据进行预处理时,怎样处理类别型特征?
在对数据进行预处理时,怎样处理类别型特征?
|
11月前
|
机器学习/深度学习 算法 开发者
特征生成(特征创建)
特征生成(特征创建)
|
机器学习/深度学习 算法 机器人
TMM2023 - FECANet:用特征增强的上下文感知网络增强小样本语义分割
TMM2023 - FECANet:用特征增强的上下文感知网络增强小样本语义分割
142 0
TMM2023 - FECANet:用特征增强的上下文感知网络增强小样本语义分割
|
计算机视觉
语义特征的理解
再讲语义特征之前,先将语义的概念讲一下。那么什么是语义呢?数据的含义就是语义(semantic)。简单来说,数据就是符号。数据本身没有任何意义,只有被赋予含义的数据才能够被使用,否则就是一堆没用的数字或载体。这时候,被赋予含义的数据就转化为了信息,而转化为信息的数据便是语义,即数据的含义就是语义。语义可以简单地看作是数据所对应的现实世界中的事物所代表的概念的含义,以及这些含义之间的关系,是数据在某个领域上的解释和逻辑表示。在计算机视觉中,大家经常会提起图像的语义信息以及图像的高层特征和底层特征。
329 0

热门文章

最新文章