(本文数据为虚构,仅供实验。本实验拟在介绍阿里云机器学习与大数据开发调度的配合。)
本文实现的场景是广告的ctr预测。广告ctr预测是广告行业的典型应用,通过历史数据训练预测模型,对于每天的增量数据进行预测,找出广告的ctr符合标准的样本进行投放。
整套实验使用了阿里云机器学习进行数据挖掘工作,通过大数据开发套件进行调度和推送。具体的业务场景是:通过历史数据在阿里云机器学习平台上面训练模型,通过大数据开发进行调度,每天凌晨对于每天的广告投放ctr预测,甄选出符合标准的广告推送出去。
具体字段如下:
字段名
含义
类型
描述
id
string
广告的唯一标识
age
年龄
double
广告投放人群的年龄
sex
性别
广告投放人群的性别,1是男,0是女
duration
时长
广告在界面的停留时长,以秒为单位
place
位置
广告投放位置,0~4,按照投放位置从上到下的顺序排列
ctr
广告ctr
广告点击量除以展现量,这里面大于0.03是1,其它是0
dt
partition
年月日格式yyyymmdd
数据截图:
数据是通过random算法随机生成,所以本次实验不针对结果进行评估,主要介绍实验搭建以及和大数据开发套件的调度使用。数据包含20160919、20160920的历史数据,需要针对20160921的数据预测。使用的是maxcompute的分区表。
实验可以通过实验模板处创建。找到带有【机器学习离线调度实现】字样的实验,从模板创建。
首先,实验流程图:
实验可以大致分为四个模块,数据源导入(ad),数据预处理(归一化),模型训练(逻辑回归二分类),预测(预测)。
ad-2是训练数据源。
ad-1是预测源,
中间过程包括数据的归一化、模型预测两个步骤。模型训练是通过历史数据训练生成的预测模型。(详细原理可以参考心脏病预测案例)
最终预测生成的结果表为ad_result-1,数据如下:
prediction_result包含每个广告id是否被点击,被点击是1,不被点击为0。
prediction_score表示对应被点击概率
进入数加的数据开发应用:
(1)新建工作流任务
在画布中可以拖动机器学习组件和odps_sql组件进行工作流的搭建。
双击"广告预测"组件进入对应的机器学习模块,选择需要调度的机器学习实验:
返回,双击"每日预测值"组件,配置每日需要推送的信息,这里只需要推送预测结果是"被点击的广告",
选择需要调度的时间,这里我选择每日的凌晨0点进行训练和推送信息。
点击“提交”按钮,即可在运维中心查看实验的运行状态。调度从第二天才正式开始,进入运维中心。可以查看实验的日志。
作者微信公众号(与作者讨论):
联系我们: [email protected]
往期文章:
<a href="https://yq.aliyun.com/articles/53862?spm=5176.100244.teamconlist.9.sxpb3b">【玩转数据系列一】人口普查统计案例</a>
<a href="https://yq.aliyun.com/articles/54260?spm=5176.100244.teamconlist.7.sxpb3b">【玩转数据系列二】机器学习应用没那么难,这次教你玩心脏病预测</a>
<a href="https://yq.aliyun.com/articles/57261?spm=5176.100244.teamconlist.3.sxpb3b">【玩转数据系列三】利用图算法实现金融行业风控</a>
<a href="https://yq.aliyun.com/articles/57718?spm=5176.100244.teamconlist.3.rpkvxw">【玩转数据系列四】听说啤酒和尿布很配?本期教你用协同过滤做推荐</a>
<a href="https://yq.aliyun.com/articles/58722?spm=5176.100244.teamconlist.3.ams6rq">【玩转数据系列五】农业贷款发放预测</a>
<a href="https://yq.aliyun.com/articles/59205?spm=5176.100244.teamconlist.3.eea648">【玩转数据系列六】文本分析算法实现新闻自动分类</a>
<a href="https://yq.aliyun.com/articles/59969?spm=5176.100244.teamconlist.3.hos3ju">【玩转数据系列七】有娃的注意了,机器学习教您如何提高孩子学习成绩</a>