zoukankan      html  css  js  c++  java
  • 基于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最佳实践#

    原文链接

  • 相关阅读:
    EntityFramework 实践 Overview
    Retrofit 实践
    elasticsearch入门
    正则如何不匹配该内容
    windows下安装了2个python,如何下载模块到不同的python中
    python中 遇到的读取坑2.7和3.6版本的问题
    如何在idea中加载本地中已有的python
    如何在linux上有2个python的情况下安装gensim
    正则表达式,包含此内容(不管是前面还是后面)
    rdd里的foreach无法对外界产生影响
  • 原文地址:https://www.cnblogs.com/jzy996492849/p/7234157.html
Copyright © 2011-2022 走看看