课时2:基于GBDT算法的CTR预估

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 课时2:基于GBDT算法的CTR预估

Flink-Learning训练营:课时2:基于GBDT算法的CTR预估

课程地址:https://developer.aliyun.com/trainingcamp/0bcc1ab57cf841a2af632d6252fecbab

FlinML算法体验:基于GBDT算法的预估

 

内容简介

一、实验准备

二、重点内容

 

一、实验准备

1开通阿里云实时计算Flink版免费试用

2开通阿里云机器学习平台PAI-Designer的工作空间

3. 开通阿里云PAI-EAS模型服务免费试用

 

1)首先介绍实验背景-FlinkML简介

试用代码:  https://github.com/apache/flink-ml

用户文档:

https://nightlies.apache.org/flink/flink-ml-docs-stable/

Flink交流群:

图片1.png

FlinkML是基于Flink的流批一体的机器学习算法库,是Apache Flink的子项目。目前支持了40+个算法,包括分类、回归、聚类、特征工程、评估等。FlinkML已在阿里巴巴内部落地并在阿里云输出。

(2)CTR预估的基本概念

图片2.png

ctr是广告的实际点击次数除以广告的展现量而ctr预估是给定一个用户和广告预测广告曝光之后获得点击的概率这个概率值可以在排序任务中提升业务的指标。

(3)介绍STR预估的流程

图片3.png

ctr预估一般包含读入数据智能工程,还有ctr模型序列预测模型指标评估,还有部署预测服务。在此我们读取oss数据好使用特征标标准化,做一个特征工程,然后使用GBDT做一个主模型,计算AUC,PRC等作为指标,最后部署到PAI-EAS。Gpd t是一个经典的基于梯度提升的有监督学习模型,可以用来解决二次分类问题。

构建了一个由多棵树呃组成的组合模型,每一棵决策树对应一个弱学习器,将这些弱学习器组合在一起,可以达到比较好的分类和回归的效果。

(4)Criteo数据集

首先介绍一下数据集我们这个实验的数据集是来自Criteo广告公司七天内的部分流量这里给出了三条示例数据。

图片4.png

每条数据对应用户展示的广告。第一列是label值。其中一表示,就是被点击了,零表示负样本是未被点击接下来的13个特征是数值性特征最后26列是类型性特征。

这是我们的数据。有了数据之后,我们下面再介绍一下如何搭建这样一个学习流程
图片5.png

在这个阿里云底单上,我们可以通过读取CSS文件的方式读入数据,然后使用标准化训练对数据做特种工程,然后用GBDT二分类训练下主模型,并对数据做一个推理,最后使用二分类的评估组件对这个预测结果进行一个评估。后面我要介绍一下,我们这些组件是如何使用的

其中这个CSC组件我们需要设置它的文件路径,设置它的Schema,并在执行调优中设置计算资源为Flink。像其他的标准化还有GBDT还有二分类评估这些组件的使用。这边我不一一赘述,后面在实验中会使用这些组件。当我们把这个所有的组件参数设置完成之后,我们可以点击执行,

图片6.png

将这个任务提交到flink VP集群,在机器上去运行。当运行结束之后,我们可以查看评估的一个结果。我们可以看到一些常用的像aocks,还有对应的一些曲线这样评估如果模型评估的比较好的时候,我们可以将这个模型部署成一个服务

 

二、实验内容

(1)在PAI-Desighner中搭建CTR预估的实验流程

下面我们具体操作一下搭建这样一个实验,并且把模型部署成一个服务。当我们记住这个可视化建模的designer首先需要建立一个工作流。然后进入工作流,会出现一个画布,我们需要在画布上搭建我们的这个机器学习流程。

首先我们是拿取对应的组件,我们是先读CSO文件,需要拿取训练数据和预测数据。拿取标准化的训练和预测组件。再拿取GBDT的二分类训百分的预测总结还有二分类的评估总结。这些数据拉取完之后我们根据业务流程把这些组件串联起来。我们读的数据首先需要做一个标准化的训练这个训练完成之后。对数据做标准化推理然后需要把标准化的数据来做GBDT二分类的模型训练,训练的模型需要去做二分类的推理,彻底完之后,需要把结果做一个评估

在我们的整个业务链路就是这个样子
图片7.png下面我需要把这些参数填写首先我们把这个运行资源设置成Flink运行资源,首先是读取实验文件我们需要填写文件的路径,我们使用OSS文件,用个十万的数据来做训练。然后这个schema我们需要从文件复制一下。同样,这个验证数据也是一样的。设置一下schema。最下面这个我们有一个一万的数据,因为下面买的这几个组件的设置需要用到输入数据,所以我们先把输入数据执行一下。这里大概需要执行一两分钟CSV读取文件,组件执行完之后,下面我们设置其他组件的参数。首先是标准化,我们这边需要做标准化的列。这边我们将所有double列做一下标准化然后标准化预测这边不需要设置参数。GBDT二分类这边需要设置特征列,这边能够把所有的列都选上。选择类别型特征,把所有SRING都选上。标签列这边选择label对应的预测这一块我们需要预测结果的详细列。然后在二分类评估这边设置详细列,并且使用的是lable列。完结之后呢,我们就点击左上角这个绿色按钮运行实验任务就会被踢到后台VP。

任务执行完之后呃,下面我们可以通过这个分类评估组件查看一下结果。可以看到我们的AOC是0.671,kS是0.3。还可以看到它的评估曲线roc曲线,以及pre曲线

2)将CTR预估模型部署成一个EAS服务

如果我们的这个评估已经感觉非常不错了想要把它部署一个服务的时候,首先要制作pai plan模型,这边我们可以选择想要部署的模型。可选择部署一个标准化预测的模型,也可以选择部署一个GBDT的模型。也可以选择部署标准化加二分类预测,两个大包成一个模型来部署这边我们以两个部署说一下这个功能,这时候取完之后我们点击下一步,这时候会提示你,我们这边会打包标准化批的预测还有二分类预测,还有两个推移组件点击下一步,会讲几个任务之间的两个部署,后台会加上两个模型打包一个模型,然后点击部署es,跳转到这个es部署界面,调转完之后我们只需要设置一下服务的名称,还需要设置配置的资源配置的资源我们选用活动的资源选择oss,点击部署确定这样我们就会就服务器提供了一个创建部署的请求,这个服务大概需要1到2分钟。
图片8.png

左上方显示一个绿色对号的时候表示已经部署完成。然后我们可以点击在线测试,然后我们复制一下样本,发送请求,对应他又会返回我们这边的结果,这个结果包含了我们预测的结果还有对应的detail信息。到现在为止我们已经完成了cruc的dome搭建以及服务的创建及验证。

 

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
课时1:相册服务中的故事生成算法介绍
课时1:相册服务中的故事生成算法介绍
222 0
|
8月前
|
机器学习/深度学习 存储 算法
课时1:基于Swing算法的商品推荐
课时1:基于Swing算法的商品推荐
190 0
|
10月前
|
存储 机器学习/深度学习 负载均衡
使用梯度提升树算法进行CTR预测
使用梯度提升树算法进行CTR预测
373 0
|
机器学习/深度学习 搜索推荐 算法
《基于深度学习的广告CTR预估算法》电子版地址
基于深度学习的广告CTR预估算法
65 0
《基于深度学习的广告CTR预估算法》电子版地址
|
机器学习/深度学习 资源调度 算法
推荐系统[三]:粗排算法常用模型汇总(集合选择和精准预估),技术发展历史(向量內积,Wide&Deep等模型)以及前沿技术
推荐可分为以下四个流程,分别是召回、粗排、精排以及重排: 1. 召回是源头,在某种意义上决定着整个推荐的天花板; 2. 粗排是初筛,一般不会上复杂模型; 3. 精排是整个推荐环节的重中之重,在特征和模型上都会做的比较复杂; 4. 重排,一般是做打散或满足业务运营的特定强插需求,同样不会使用复杂模型;
推荐系统[三]:粗排算法常用模型汇总(集合选择和精准预估),技术发展历史(向量內积,Wide&Deep等模型)以及前沿技术
|
XML 机器学习/深度学习 人工智能
【机器学习】集成学习(Boosting)——梯度提升树(GBDT)算法(理论+图解+公式推导)
【机器学习】集成学习(Boosting)——梯度提升树(GBDT)算法(理论+图解+公式推导)
230 0
【机器学习】集成学习(Boosting)——梯度提升树(GBDT)算法(理论+图解+公式推导)
|
机器学习/深度学习 算法 数据可视化
在没有技术术语的情况下介绍Adaptive、GBDT、XGboosting等提升算法的原理简介
在没有技术术语的情况下介绍Adaptive、GBDT、XGboosting等提升算法的原理简介
144 0
在没有技术术语的情况下介绍Adaptive、GBDT、XGboosting等提升算法的原理简介
|
机器学习/深度学习 自然语言处理 算法
课时3 :高级能力和算法效果优化(三)|学习笔记
快速学习课时3 :高级能力和算法效果优化
127 0
课时3 :高级能力和算法效果优化(三)|学习笔记
|
机器学习/深度学习 搜索推荐 算法
《基于深度学习的广告CTR预估算法》电子版地址
基于深度学习的广告CTR预估算法
59 0
《基于深度学习的广告CTR预估算法》电子版地址
ML之回归预测:利用Lasso、ElasticNet、GBDT等算法构建集成学习算法AvgModelsR对国内某平台上海2020年6月份房价数据集【12+1】进行回归预测(模型评估、模型推理)
ML之回归预测:利用Lasso、ElasticNet、GBDT等算法构建集成学习算法AvgModelsR对国内某平台上海2020年6月份房价数据集【12+1】进行回归预测(模型评估、模型推理)