MyException - 我的异常网
当前位置:我的异常网» 行业应用 » 基于MaxCompute平台开展机器学习并展示结果

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

www.MyException.Cn  网友分享于:2013-08-11  浏览:0次
基于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最佳实践#

文章评论

看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
编程语言是女人
编程语言是女人
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
我是如何打败拖延症的
我是如何打败拖延症的
鲜为人知的编程真相
鲜为人知的编程真相
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
每天工作4小时的程序员
每天工作4小时的程序员
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
总结2014中国互联网十大段子
总结2014中国互联网十大段子
如何成为一名黑客
如何成为一名黑客
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
那些争议最大的编程观点
那些争议最大的编程观点
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
程序员的鄙视链
程序员的鄙视链
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
我的丈夫是个程序员
我的丈夫是个程序员
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
10个调试和排错的小建议
10个调试和排错的小建议
一个程序员的时间管理
一个程序员的时间管理
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
Java程序员必看电影
Java程序员必看电影
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
程序员必看的十大电影
程序员必看的十大电影
中美印日四国程序员比较
中美印日四国程序员比较
代码女神横空出世
代码女神横空出世
 程序员的样子
程序员的样子
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
程序员都该阅读的书
程序员都该阅读的书
漫画:程序员的工作
漫画:程序员的工作
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
旅行,写作,编程
旅行,写作,编程
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序员和编码员之间的区别
程序员和编码员之间的区别
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有