圣诞礼遇!【推荐解决方案四部曲】请查收——第二部:基于对象特征的推荐

简介: 本次实验选用的是PAI-Studio作为实验平台,仅通过拖拽组件就可以快速实现一套基于对象特征的推荐系统。

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

image.png

·首先把数据导入Maxcompute,有监督的结构化数据

·接着做特征工程,在特征工程环节主要做一些数据的预处理以及特征的衍生,特征衍生的作用是扩充数据维度,使得数据能更大限度的表示业务特点

·接着把数据通过拆分分成两份,一份通过分类算法生成二分类模型,另一份数据对模型效果进行测试

·最后通过评估组件得到模型效果

一、业务场景描述

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

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

image.png

二、数据集介绍

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

具体字段如下:

image.png

数据截图:

image.png

三、数据探索流程

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

实验流程图:

image.png

1、特征工程

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

在商品推荐这个案例中:

·被推荐对象为商品(item),扩充的维度为每个item被购买量、每个item被点击量、每个item被点击购买率(购买量除以点击率)

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

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

image.png

image.png

2、模型训练

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

image.png

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

image.png

3、模型评估

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

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

image.png

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

image.png

4、模型在线部署

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

image.png

后续流程可以参考在线预测文档:

https://help.aliyun.com/document_detail/92917.html

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

相关实践学习
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
缓存 Perl
如何修改openeuler为阿里源
修改openeuler为阿里源
7321 0
|
4月前
|
存储 人工智能 自然语言处理
知识库为谁而建 ?
随着 Agent 的逐步广泛应用,知识库的使用者正在从人变成 Agent。 知识库的设计逻辑、维护方式、甚至存在的意义,都需要重新思考。
954 10
知识库为谁而建 ?
|
10月前
|
Web App开发 前端开发 JavaScript
Cypress入门与优势解析:前端自动化测试的强力工具
Cypress是一款针对前端痛点设计的新一代测试框架。它通过可视化执行、智能等待等特性,简化了SPA和复杂交互页面的自动化测试。与Selenium和Playwright相比,Cypress上手快、调试直观,尤其适合快速迭代的前端团队,但在并行执行和跨域名测试方面存在限制。
|
10月前
|
自然语言处理 机器人 BI
中小企业Agent工具选型攻略:从认知到落地,这篇帮你挑对不踩坑
中小企业常面临效率瓶颈:客服漏单、财务加班、协作混乱。AIAgent作为“实干型”智能体,能自主完成任务,提升20%以上生产力。本文教你避开技术噱头,从预算、易用性、场景匹配等5大标准,选对客服、财务、协作等场景的实用工具,并提供落地避坑指南,助力企业低成本高效转型。
611 1
|
人工智能 搜索推荐 知识图谱
AI家庭医生助手:用智能技术守护全家健康
AI家庭医生助手融合医疗大模型、知识图谱与多模态交互技术,打造7×24小时智能健康服务,精准理解需求、动态监测体征、提供个性化建议。聚焦慢病管理、日常咨询与预防预警,实现高效初筛与医患协同,提升医疗资源可及性,助力数字健康普惠。
1013 0
|
JSON API 数据格式
易贝(eBay)item_search 接口对接全攻略:从入门到精通
本文详解eBay开放平台item_search接口的对接全流程,涵盖认证、参数配置、Python代码实现及分页、多站点适配等高级用法,助力开发者高效实现跨境电商选品与市场分析。
|
人工智能 自然语言处理 测试技术
在PyCharm中提升编程效率:通义灵码(DeepSeek)助手全攻略(新版)
最近小栈在PyCharm中使用了阿里的 通义灵码 插件还不错,本次就再分享一个好用的AI代码助手,让编码过程更加方便!
8308 23
|
NoSQL Ubuntu Linux
Redis 安装
10月更文挑战第14天
631 1
|
移动开发 前端开发 JavaScript
APP 开发技术如何进行选型 ?
APP 开发技术如何进行选型 ?
634 2
APP 开发技术如何进行选型 ?
|
存储 Java 关系型数据库
基于Java和MySQL实现的大学生学籍管理系统(毕业设计附完整项目代码)
基于Java和MySQL实现的大学生学籍管理系统(毕业设计附完整项目代码)
2946 0
基于Java和MySQL实现的大学生学籍管理系统(毕业设计附完整项目代码)