微软亚太区资料科学总监:R 语言是 VS 生态第一顺位

微软在2015年并购R语言工具商Revolution Analytics之后,随即在2016年,也开始在自家主力开发工具Visual Studio上,支援R语言。微软将如何定位R语言在微软开发工具链的位置?微软亚太区资料科学总监Graham Williams直言:「R是Visual Studio生态系的第一公民!」

拥有30年资料探勘研究经历的Graham Williams,是运用R语言来进行资料探勘研究的先驱之一,早在10年前更开发一款R语言资料探勘的图形化工具Rattle。

他在2016年进入微软,曾是澳洲国税局首席资料科学家,超过10年投入各种税务、海关、健保、金融分析研究。他也是R社群基础入门教材的重要贡献者之一。

「R是资料科学家最常用的分析工具!」Graham Williams一语点出目前分析工具的使用现状,他认为,R能够成为最多资料科学家使用的工具,不仅是因为R是个开源且免费的工具,R更是资料科学家的生态圈。

他表示,R软体的生态圈中,有来自世界各地的资料科学家、统计学家、机器学习工程师等开发人员,都会使用R,若发现需要解决的问题,就会贡献套件(Package)到R的CRAN(Comprehensive R Archive Network)中。

目前整个生态圈的资料科学家贡献的套件,已高达10,450个,「身为一个资料科学家,我拥有10万多的套件可以完成我的任务,」他举例,无论是时间序列的分析、金融预测分析和机器学习演算法,R都有相对的资源可以运用。

除此之外,Graham Williams也补充,R软体与其他分析工具也可以相容,像是数据分析软体Weka,在R软体中也可以直接呼叫Weka的套件来使用。

他认为,对资料科学家而言,R是个很强大的工具,因为只要单一工具,就可以使用相当多元的资源。

R软体很大的优点就是有许多套件可以使用,不过,R的套件是谁在管理的呢?「R其实分为两个部分,一小部分由R核心团队管理,剩下的另一部分,开发人员可以贡献经过官方审核的套件到CRAN中,」Graham Williams表示。

一般来说,开发人员贡献的套件必须经过缜密的审核,符合核心团队要求的套件,才能放入CRAN,而R核心团队则负责小于100个重要的套件,且有权利修改R软体。

Visual Studio整合R,打破两大限制

在2015年微软并购Revolution Analytics后,Graham Williams强调,微软在Visual Studio上将R视为第一优先顺位,提供资料科学家R语言工具R Tools for Visual Studio(RTVS),而且,R Studio所拥有的功能RTVS几乎都有。

他认为,RTVS可以让资料科学家不须要重新适应开发环境,可以直接在Visual Studio中使用R。

Graham Williams表示,数据分析生命周期需要完整的管理机制,Visual Studio可以提供企业监督和管理大数据开源工具的平台,让资料科学家在同一个平台上,运用许多资料科学的工具。

举例来说,Visual Studio提供R、Python、Spark和Hadoop等这些资料科学的工具,甚至,还提供资料仓储管理和版本管理的功能。

除此之外,Graham Williams表示,微软还突破了开源R软体的两项限制:第一,微软解决了R只能分析符合记忆体的资料量,让资料科学家能够分析任何大小的资料量。

第二,原本开源的R只能执行单一执行绪,但是机器学习的演算法往往需要多执行绪的请求方式,Microsoft R则提供资料科学家能够灵活地运用多执行绪。

Python和R不是竞争关系,而要共存

不过,除了R语言之外,另一个语言Python在资料科学界也越来越火红,Graham Williams认为,开源的环境不是竞争的关系,而是和谐共存。

「我不会希望把资料科学家绑死在R,」他坦言,其实开源软体的优势就是,开发人员有很高的自由度可以选择自己的工具,资料科学家可依照自己的情况,选择最好的工具。

「我可以自由地选择最适合我的工具,再将其他资源整合到我的生态圈,」Graham Williams指出,一般资料科学家习惯同一个环境下执行数据分析,若分析过程需要新的工具,就会将其他的工具套用进原本的环境中。

他认为,R和Python各自有不可取代的优点,像是R同时具有统计和机器学习的生态圈,或许在资料科学的领域,会维持很长一段时间领先的地位,但Python有好的套件可以串接到Hadoop和Spark。

除了这两大数据分析语言,他也不排除,未来或许会有更新、更好的语言会出现,像是近期就有新的语言Julia出现。

「以前执行资料科学的专案,需要花费3年的时间,现在,只要5分钟就能完成!」他说。

Graham Williams表示,现在因为有许多工具,可以让企业的资料科学家自由地调度云端上的运算能力,和使用各式各样的分析工具,让资料科学变得方便又快速,不仅如此,还可以为企业省下大笔的花费。

他指出,过去,多数企业购买了许多超级电脑来运行数据分析,还需花费资金和人力,来维护硬体设备,不过,实际运用到的资源却不到10%,他表示,若是利用云端上的资源,企业则可以省去建置环境的过程,并且依照使用量付费。

即使云端运算有如此吸引人的优点,Graham Williams坦言,许多企业和政府机关对于内部的资料上云端还是有很大的疑虑。

不过,他表示,加密的技术早就已经相当纯熟,就像我们在使用的Dropbox、Google Drive等,技术可以确保资料不会外泄,只有资料的拥有人可以存取。

他认为,科技不是问题,而是要慢慢建立起企业对云端的信任感,他也坦言,企业对资料上云端的疑虑,是微软目前面临的状况。

整合个人异质数据,更能创造资料科学新商机

对于害怕将资料上云端的人,Graham Williams也建议,其实每个人都握有个人自身的数据,且拥有唯一的权限,可以存取数据,「若能将所有分散的异质数据整合起来,可以做到非常惊人的数据分析!」

他进一步举例,只有自己个人知道自己有几家银行的户头,也只有自己可以存取这些资料,一家银行只会知道客户一个帐户的资讯,且不会与其他银行分享资讯。

比方说,若银行开发一款App,能够提供消费者在个人装置上,像是智慧型手机,透过整合分散的异质资料,包括银行的帐户、税务资讯和社群软体的数据等,分析预测自己的投资组合或是财务状况。

「提供机器学习演算法的模型,让客户在个人装置执行分析,能创造出更多的商机,」Graham Williams举例,使用者可以藉由分析结果来管理自己的财务,企业也可以增加推荐行销的机会,提供客户理财的建议与方案。

不过,他也坦言,由于企业必须在没有取得客户资料的情况下,先建置出精准的分析模型,提供给客户使用,这样的工作其实相当困难。

除此之外,Graham Williams预测,未来,机器学习和深度学习演算法,将不再局限于超级电脑或是云端的执行环境中,可以变得更贴近我们的生活,普及在个人装置上运行。

本文来自开源中国社区 [http://www.oschina.net]

时间: 2024-09-20 06:43:57

微软亚太区资料科学总监:R 语言是 VS 生态第一顺位的相关文章

《数据科学:R语言实战》一第2章 序列的数据挖掘2.1 模式

第2章 序列的数据挖掘 数据科学:R语言实战 数据挖掘技术一般用于检测数据中的序列或模式.本章中,我们将试图使数据遵循一种模式,在此模式中,一个或一系列事件可以通过一致的方式预测另一个数据点. 本章描述了在数据集中查找模式的不同方法: 查找模式 在数据中查找模式 约束条件 我们可以在很多较大的数据集中查找模式.这涵盖了很多区域,比如混合人口的变化.使用手机的频率.高速公路质量衰退.年龄因素造成的事故等.不过我们能明确地感受到,有很多模式和序列正等待我们去发现. 我们可以通过使用R编程中的一些工具

《数据科学:R语言实战》一导读

前 言 数据科学:R语言实战R是为数据操作及统计计算提供语言及环境的软件包,同样也能够用图表表示产生的统计数据. R具有以下特性: 语法简洁,可对数据执行操作: 附带的工具可通过本地和互联网以多种格式加载和存储数据: 语言一致,可对内存中的数据集进行操作: 具有用于数据分析的内置和开源工具: 采用生成实时图形和将图示存储到磁盘的方法. 目 录 第1章 模式的数据挖掘1.1 聚类分析1.2 异常检测1.3 关联规则1.4 问题1.5 总结第2章 序列的数据挖掘2.1 模式2.2 问题2.3 总结第

《数据科学:R语言实现》——导读

前 言 大数据.物联网.人工智能已经变成近几年最热门的科技流行语.尽管大家用很多名词去定义这些技术,但是共通的思想是它们都是数据驱动的.人们并不满足于简单地拥有数据,因为发现其中的价值才是最本质的.因此数据科学家已经开始关注如何从原始数据中洞悉深层价值. 数据科学已经变成学术界和产业界最流行的话题.但是数据科学是一门非常宽泛的学科,学会掌握数据科学注定很有挑战性.初学者必须学习如何准备.处理.聚合和可视化数据.而更多高级技能包括机器学习,挖掘各种数据格式(文本.图像和视频),以及最重要的-使用数

《数据科学:R语言实现》—— 第1章 R中的函数 1.1 引言

第1章 R中的函数 1.1 引言 R语言是数据科学家的主流编程语言.基于著名的数据分析网站KDnuggets的民意测验,3项(2012年到2014年)的调查显示,R语言在数据分析.数据挖掘和数据科学领域中是最受欢迎的语言.对许多数据科学家来说,R语言不仅是一门编程语言,而且相关软件还提供了交互式的开发环境,支持运行各种数据分析任务. R语言在数据操作和分析方面有许多优势.下面是3个最显著的优势. 这些优势使得复杂的数据分析变得更加简单易行.对此,R语言用户都深信不疑.而且,R语言尤其适合基础用户

《数据科学:R语言实现》——第1章 R中的函数

第1章 R中的函数1.1 引言R语言是数据科学家的主流编程语言.基于著名的数据分析网站KDnuggets的民意测验,3项(2012年到2014年)的调查显示,R语言在数据分析.数据挖掘和数据科学领域中是最受欢迎的语言.对许多数据科学家来说,R语言不仅是一门编程语言,而且相关软件还提供了交互式的开发环境,支持运行各种数据分析任务.R语言在数据操作和分析方面有许多优势.下面是3个最显著的优势.开源并且免费:用户使用SAS或者SPSS需要购买使用许可.而用户使用R语言是免费的,并且可以方便地学习如何实

《数据科学:R语言实现》——1.1 引言

1.1 引言 R语言是数据科学家的主流编程语言.基于著名的数据分析网站KDnuggets的民意测验,3项(2012年到2014年)的调查显示,R语言在数据分析.数据挖掘和数据科学领域中是最受欢迎的语言.对许多数据科学家来说,R语言不仅是一门编程语言,而且相关软件还提供了交互式的开发环境,支持运行各种数据分析任务.R语言在数据操作和分析方面有许多优势.下面是3个最显著的优势.开源并且免费:用户使用SAS或者SPSS需要购买使用许可.而用户使用R语言是免费的,并且可以方便地学习如何实现每一个函数源代

《数据科学:R语言实现》——1.7 执行延迟计算

1.7 执行延迟计算 R函数会以一种延迟的方式评估参数:参数只是在某些需要的时候才会被评估. 因此,延迟计算会减少计算所需的时间.在本教程中,我们会展示延迟计算是如何工作的. 准备工作 确保你已经在操作系统中安装了R语言,完成了之前的步骤. 实现步骤 执行下列步骤,看看延迟计算是如何工作的. 1.我们创建函数lazyfunc,其中x和y是参数,但是只返回x: 2.另外,如果函数返回x与y的和,但是我们不把y传递给函数,那么会报出一个错误: 3.我们也可以在函数中给定参数y的默认值,但是只把参数x

《数据科学:R语言实现》——1.2 创建R函数

1.2 创建R函数 R语言是函数的集合:用户可以在项目中使用各个程序包中的内置函数,或者为专门的目的定义新的函数.在本教程中,我们会展示如何创建一个R函数. 准备工作 如果你是R语言新手,你可以在R语言的官方网站(http://www.r-project.org/ )上查阅具体的介绍.历史和功能.开始下载安装R语言的时候 ,建议使用R语言综合文档网络 (http://cran.r-project.org/). 实现步骤 执行下列步骤来创建你的第一个R函数. 1.在R控制台中键入下列代码,创建第一

《数据科学:R语言实现》——1.4 理解环境

1.4 理解环境 除了函数名.函数体和形参,环境也是函数的另一个基本组成部分. 简单地说,环境是R管理和存储各种类型变量的地方.除了全局环境外,每一个函数会在创建之初激活自己的环境.在本教程中,我们会展示每一个函数的环境是如何工作的. 准备工作 确保你已经在操作系统中安装了R语言,完成了之前的步骤. 实现步骤 执行下列步骤来使用环境. 1.你可以使用函数environment来查看当前的环境: 2.你也可以使用.GlobalEnv和globalenv来浏览全局环境: 3.你可以使用函数ident