分享到微博 分享到人人 分享到LinkedIn 分享到Email
Azure机器学习平台的扩展与R语言支持

 

原文作者:微软合作伙伴工程经理,Debi Mishra

译者:宋代伟

近年来,开源社区对R语言和Python的开发工具和程序包的使用让机器学习的驯化突飞猛进,并在机器学习从业者中间得到了广泛应用。许多强有力的机器学习库均是基于以上语言而开发的,这又促使更多的人采用这些语言进行开发,从而形成了良性循环。R语言的普及与CRAN (Comprehensive R Archive Network)有很大关系,而Python的流行则得益于SciPy数值计算库。但是,通常以上两种语言和相关的工具及程序包像一个个孤岛,基本上没有进行相互协作。而实现协作的瓶颈不仅仅在编程语言或脚本层面的差异,不同环境中面向“数据集”的特定对象、“柱式架构”的特定解释以及其他关键数据的科学建构都是不同的。因此,若要真正实现“云环境下的智能”概念,需要为开发人员和数据科学家们提供一个可以混合匹配不同的编程语言和程序框架来解决问题的机器学习平台。数据科学解决方案通常包括多阶的计算、数据流(具体包括数据摄取、转换和优化)和机器学习算法,而满足每个阶段特定需求的编程语言、开发工具和程序包往往不同,如果可以将其混合使用将会得到一个最优的结果。

Azure机器学习服务提供了可扩展的、基于云端的多用户服务,用户可在此平台上编辑和执行数据工作流,并将其变为产品。Azure机器学习工具的一大亮点在于它对数据和计算的集合性,并以此来执行任意的工作流。这样的工作流还可在Azure的表征性状态传输(REST- Representational State Transfer)终端进行运转。这使得开发者和数据科学家仅用“拖、拽、连接”的模式就能实现数据编辑和工作流计算,轻轻点击几下便能完成对工作流的测试,并将其作为网络服务产品启动。

Azure机器学习服务致力于提供一个可扩展的机器学习平台,可以支持如R语言、Python和其他类似开发环境下的开源软件。这样一来,现有机器学习从业者所积累的技巧、代码和脚本都能直接转移到Azure机器学习平台上,并且可以畅通无阻地操作Azure机器学习的内容。这也是创建Azure机器学习平台的初衷。

R语言是我们所支持的首个编程环境,主要表现在以下方面:

  • 数据科学家能导入用R语言编写的全部现有资源,并与Azure机器学习工作流进行无缝衔接。
  • Azure机器学习工作室在几分钟内就可以把R语言脚本转化为Azure上可扩展、低延迟的网络服务。
  • 数据科学家可以使用平台上预先安装的400多种热门CRAN程序包,并可获取英特尔数学核心函数库的优化线性代数核心函数。
  • 数据科学家可使用如ggplot2的R语言绘图库,将数据可视化。
  • 通过高保真、双向的数据框架和架构桥,Azure机器学习平台和运行环境能自动识别并提供扩展,以达到协作互用性。
  • 开发者能访问R语言公共机器学习算法,并将它们与Azure机器学习平台提供的其他算法相组合。

下图展示了如何在Azure机器学习平台上使用“执行R模块”,将“乳腺癌数据”数据集可视化。

我们十分高兴的看到,R语言在第一批用户中广受欢迎。有趣的是,用户最常见的错误正是他们自己在脚本中所发现的句法错误。使用数据表明,目前R语言被应用于Azure机器学习近四分之一的模拟实验。我们微软的很多重要客户以及我们自己的内部团队也正在使用R语言预测程序包解决问题。

你也可以立即开启属于你自己的Azure机器学习R语言编程之旅。与此同时,我们的工程师团队正全力以赴地使Azure机器学习对Python也能提供类似R语言的扩展支持——如果你想了解更多此方面的信息,欢迎继续关注此博客。

也欢迎大家关注我的Twitter