基于MaxCompute平台进行机器学习并展示结果

摘要: 本实验实现的目标是收集用户的操作行为数据,抽样一部分数据进行人工标注,标注结果为满意和不满意,用1和0表示,然后用机器学习平台对行为数据进行训练得到模型,最后以得到的模型基于用户行为预测用户对当前结果是否满意。

MaxCompute大数据计算服务中提供了机器学习平台,用户可基于该平台有效利用自己的数据,并从中发现价值。本文主要介绍从用户行为数据收集,到在机器学习平台中运算,最后将结果同步到RDS数据库中便于展示结果的一整个流程。本实验实现的目标是收集用户的操作行为数据,抽样一部分数据进行人工标注,标注结果为满意和不满意,用1和0表示,然后用机器学习平台对行为数据进行训练得到模型,最后以得到的模型基于用户行为预测用户对当前结果是否满意。该实践的创新之处在于借助DataHub和RDS以及任务运维将MaxCompute平台和本地项目结合起来,可自动实现模型预测。

1 用户行为数据收集

      本实验用的阿里云的DataHub收集用户行为数据。DataHub可实时收集到用户产生的行为并实时同步到MaxCompute平台中。其主要流程如下(地址为datahub.console.aliyun.com):

1.1 创建项目

       点击创建Project按钮弹出如下窗口:

                           4f32ab63067bc6e5e4ae0d15e1df3339d54fd7eb

       输入自定义的项目名称点击创建即可。

           92c751451937a3da556c02ae246ee938a9a55e31

 点击查看可配置项目基本信息。

1.2 创建Topic

                        2993ec14e04dee23b83795dd2fc07b48ecfef31a

点击创建Topic,可配置同步到MaxCompute平台中哪个项目那张表的信息。其弹出的窗口如下:

                       4577effd873924099eaad818f780f25086c4f9c4

有两种创建方式,直接创建和导入MaxCompute表结构。建议用第二种方式,该方式可直接导入MaxCompute中的表结构,不用自己再创建表。按提示完善信息即可创建完成Topic(提示:每个空都需要填,包括最后的备注,否则不能创建)。

1.3 配置完成

       Topic创建完成,点击查看可进入下图页面,下图中已经收集了数据,点击数据抽样可查看收集的数据。Connectors中可查看连接到MaxCompute的信息。

                         6aca754ae35d6cbfe4f00d3e0940c8a49048e5ef

2 机器学习平台

      本实验用的逻辑回归算法对行为数据进行分类。第一步DataHub收集到数据并同步到MaxCompute中之后,即可对数据进行处理与计算。

2.1 数据预处理

       DataHub收集的用户行为数据往往不符合机器学习平台的要求,此时需要先对数据做一些预处理操作。机器学习平台组件提供了数据预处理的各种组件。

                         6cf5e0846248f18b8a41718605541a7558133608

为了能自动对收集的数据进行预处理,可在大数据开发套件中新建任务,设置其调度过程。其过程如下:

                        01ee87902f75afa06eaf316b0577d827ed7ff1c4

点击新建任务:

                        8d692afb9a8b009276f7e4abbb3b2f817fcb2b59

类型中有可设置需要进行的任务类型。其中创建机器学习任务是创建完成之后,选择在机器学习平台已创建的实验,然后设置调度配置,然后即可自动执行机器学习的实验。

2.2 模型训练

        数据预处理完成之后,将数据写入下图中1所表示的数据表中,然后用机器学习的写数据组件读取数据,下图为数据训练过程:

                                5ea6749a87fa884f2348815ace7061c44e0e42fd

上图中对数据特征进行了离散操作,然后采样部分数据用逻辑回归算法进行训练,采样部分数据进行测试,混淆矩阵可得到测试结果。

2.3 模型预测

                       9e17f7125e1e7335cdad505491bbf89c54021da9

当模型训练完成之后,即可将模型用来预测。上图中1表示模型训练数据表,2表示待预测数据表,3表示预测结果存放表。

3 预测结果同步到RDS数据库

3.1 创建数据源

      大数据开发套件中的数据集成中可创建数据源,数据源的作用是将MaxCompute中的当前项目与某个数据源(如RDS数据库)联系起来:

                    51ac20e12b834af06219d953be99c179243c795e

点击新增数据源:

                    c75fa2d3128ccd27affdfcfa7c818871c361c4ec

按要求填写即可创建成功。

3.2 同步数据到RDS数据库

         在大数据开发套件的数据开发中,点击新建任务,创建数据同步类型的任务:

                            3484dfda855109f9faa940aa8c7d668e6ec2dc1a

创建完成并按提示配置后如下:

                     5f352d7d9da1bd510a8e9f006c3339f0e8d7c45d

点击保存之后,点击提交、测试运行即可将数据即时同步到RDS数据库中。

242c0dfb662f3110aa98978050acfaca23cd6cbc

同步到RDS数据库之后,即可从数据库中获取预测结果并展示,这样就可将项目与MaxCompute平台结合起来。

4 任务运维

      在任务运维中可设置MaxCompute中创建的各种任务的调度过程,即设置定时任务。而MaxCompute平台的各种组件,包括机器学习平台中的实验均可创建为任务,因此可用任务运维控制机器学习平台的实验自动运行。

5 总结

       本文主要介绍了DataHub收集数据,MaxCompute平台处理数据,同步数据到RDS数据库展示数据的一整个流程。展示了如何获取项目中的行为数据,用MaxCompute进行处理,然后同步到RDS数据库中,项目再从RDS数据库中获取MaxCompute的处理结果。这样就将本地的项目与MaxCompute平台完美结合起来了。

#MaxCompute最佳实践#

原文链接

原文地址:https://www.cnblogs.com/jzy996492849/p/7234157.html