R与Python或协同助力机器学习:听Azure ML Studio讲座有感

浏览: 1791

作者:黄天元,复旦大学博士在读,目前研究涉及文本挖掘、社交网络分析和机器学习等。希望与大家分享学习经验,推广并加深R语言在业界的应用。

邮箱:huang.tian-yuan@qq.com


前言

前不久参加了《微软云社区Global AI Bootcamp 2018—上海站》的活动,尽管没有拿到什么纪念品(同场的参与者都太bt了...答题超级积极的),但是关于其中一些云产品的设计理念,感觉非常有意思,因此在这里与大家分享。

我自身而言是学习过机器学习的,玩儿过的package包括caret和mlr,也试过很多别的包。不过因为科研工作的特殊需要,暂时搁下了。尽管如此,我对机器学习的基本流程和套路还是比较熟悉的。学过一些东西之后,难免会有先入为主的观念。也就是先用的东西认为是好的,而排斥对于自己而言是新的东西。尽管如此,我还是认为Azure ML Studio的设计理念有可取之处,也许会成为今后数据科学云平台的发展方向。


云的概念

不知道大家是否知道云的概念,简单介绍一下:我们买计算机跑数据是在自己本地的电脑跑。如果使用云计算,就可以把自己的数据上传到企业(比如阿里、亚马逊、谷歌、微软、腾讯等)提供的服务器,然后使用企业平台所提供的计算框架来处理数据,进行各种分析。这样一来,我们只要把数据传到云上,在任何地方都可以通过写代码来做数据挖掘,不用带着电脑机箱到处跑。看一下使用的价格,感觉配置没有很高,但是价格都不菲,如果不是大企业可能不会选择这种服务。不过相信未来随着科技的发展,这些存储和计算的服务成本可能会越来越低,甚至有可能成为所有用户的标配。

机器学习

让我眼前一亮的,是讲机器学习的部分。演示者给了一个案例,用经典的MNIST数据集来做数字图像识别的深度学习。这个案例我以前用R语言keras包也做过,非常简单。不过演讲者基本使用拖拽模块的方式来构建机器学习框架,而每个模块既可以用视窗界面来设置参数,也可以双击模块用代码来实现。

我们看到的最顶上的MINST Train 60k dense数据模块,如果打开代码块,其实是一段数据导入的代码。这段代码会显示在Jupyter笔记本中,既可以显示为Python代码,也可以显示为R代码。我复制过来给大家看:

R

library("AzureML") ws <- workspace() dat <- download.datasets(ws, "MNIST Train 60k 28x28 dense")

Py

from azureml import Workspace

ws = Workspace() ds = ws.datasets['MNIST Test 10k 28x28 dense'] frame = ds.to_dataframe()

我们还可以在这段代码块下面,输入其他代码来查看这个数据的结构,这里不赘述。感兴趣读者可以去演讲人的Github进行学习(https://github.com/HaoHoo/HOL-AI),然后自己做一次。

这里值得注意的是,在这个框架下可以加入R代码模块或者Python代码模块,我们可以看看工作台。

左侧有Python Language Modules和R Language Modules,也就是我们在这个框架下做出的数据,能够自如地流入R或者Python的代码中,然后再以数据框的形式输出。操作以模块的格式在框架中进行设定,数据以流的形式一直往下走。我当时问了一个问题,是不是只要在框架中,用任何语言都可以生成操作模块,从而对数据进行操作。当时演讲人介绍了,目前Azure的机器学习平台只支持R和Python两种语言。我认为这就已经非常不错了,如果今后能够支持C或者其他更多的编程语言,在这种自由灵活的框架下,将能够完成更加丰富的机器学习操作组合。

总结

在数据科学家首选语言的问题上,R与Python以前一直存在争议。尽管后来大家都在寻找共存的模式,但是因为重叠的功能太多,因此也没有得到特别好的解决。但是看到了这个框架,我认为以后大家选择语言可以更加自由随性,尊重数据科学家多元化的语言选择。如果未来数据科学的框架能够跨越语言的障碍,那么将会大大促进数据科学家之间的合作交流,企业也不会单纯因为编程语言的选择而失去重要的人才。期待今后会有更多跨语言平台被开发出来,从而让数据科学得到更加长足的进步。

公众号后台回复关键字即可学习

回复 爬虫             爬虫三大案例实战  
回复 Python        1小时破冰入门

回复 数据挖掘      R语言入门及数据挖掘
回复 人工智能      三个月入门人工智能
回复 数据分析师   数据分析师成长之路 
回复 机器学习      机器学习的商业应用
回复 数据科学      数据科学实战
回复 常用算法      常用数据挖掘算法

推荐 0
本文由 R语言中文社区 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册