微软在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]