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

微软亚太区资料科学总监Graham Williams

微软在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.ctolib.com/topics-117237.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/325373.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中如何数组是如何赋值的?

由于数组是引用类型,故无法与变量赋值的方式一样,int a 10;int b a; 那么数组是如何赋值的呢? 是这样赋值的: public static void arrayFuZhi(){//八斤的身高和体重int [] ba {170,80};//九斤的身高和体重与八斤的一样int [] …

从LINQ开始之LINQ to Objects(下)

前言 上一篇《从LINQ开始之LINQ to Objects(上)》主要介绍了LINQ的体系结构、基本语法以及LINQ to Objects中标准查询操作符的使用方法。 本篇则主要讨论LINQ to Objects中的扩展方法以及延迟加载等方面的内容。 扩展方法 1.扩展方法简介 扩展方法能够向…

Localdatetime

根据指定日期/时间创建对象 LocalDate localDate LocalDate.of(2018, 1, 13); LocalTime localTime LocalTime.of(9, 43, 20); LocalDateTime localDateTime LocalDateTime.of(2018, 1, 13, 9, 43, 20); System.out.println(localDate); System.out.println(localTime); Sy…

基于OAuth2的认证(译)

OAuth 2.0 规范定义了一个授权(delegation)协议,对于使用Web的应用程序和API在网络上传递授权决策非常有用。OAuth被用在各钟各样的应用程序中,包括提供用户认证的机制。这导致许多的开发者和API提供者得出一个OAuth本身是一个认证…

Redis非阻塞I/O多路复用机制

小曲在S城开了一家快递店,负责同城快送服务。小曲因为资金限制,雇佣了一批快递员,然后小曲发现资金不够了,只够买一辆车送快递。 经营方式一 客户每送来一份快递,小曲就让一个快递员盯着,然后快递员开车去…

React前端格式化时间

import moment from "moment";const dateFormat YYYY-MM-DD HH:mm:ss;<DatePicker label"时间" name"insertTime" showTime onChange{onChange} onOk{onOk}defaultValue{moment(location?.defaultValues?.record?.insertTime, dateFormat…

[认证授权] 4.OIDC(OpenId Connect)身份认证授权(核心部分)

1 什么是OIDC&#xff1f; 看一下官方的介绍&#xff08;http://openid.net/connect/&#xff09;&#xff1a; OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol. It allows Clients to verify the identity of the End-User based on the a…

EasyExcel中输出为时间格式

前端传值 后端Excel配置为String类型 配置为其他类型显示格式转化异常

Identity Service - 解析微软微服务架构eShopOnContainers(二)

接上一篇&#xff0c;众所周知一个网站的用户登录是非常重要&#xff0c;一站式的登录&#xff08;SSO&#xff09;也成了大家讨论的热点。微软在这个Demo中&#xff0c;把登录单独拉了出来&#xff0c;形成了一个Service&#xff0c;用户的注册、登录、找回密码等都在其中进行…

TCP/IP协议——ARP详解

转载自 TCP/IP协议——ARP详解 本文主要讲述了ARP的作用、ARP分组格式、ARP高速缓存、免费ARP和代理ARP。 1.学习ARP前要了解的内容 建立TCP连接与ARP的关系 应用接受用户提交的数据&#xff0c;触发TCP建立连接&#xff0c;TCP的第一个SYN报文通过connect函数到达IP层&a…

RPC远程过程调用之 RMI实现

1&#xff09;RMI&#xff08;remote method invocation&#xff09;是java原生支持的远程调用&#xff0c;RMI采用JRMP&#xff08;java RemoteMessageing Protocol&#xff09;作为通信协议。可以认为是纯java版本的分布式远程调用解决方法。 2&#xff09;RMI的核心概念 3&…

[翻译]编写高性能 .NET 代码 第一章:性能测试与工具 -- 选择什么来衡量

选择什么来衡量 在搜集数据测试数据前&#xff0c;你需要知道你要以怎样的指标来衡量测试结果。这听起来很容易&#xff0c;但实际上比你想象中的要难许多。如果你想降低内存使用量&#xff0c;你会选择什么方式呢&#xff1f; 私有工作集&#xff08;Private working set&am…

RPC远程过程调用之Hessian 基于HTTP

Hessian使用C/S方式&#xff0c;基于HTTP协议传输&#xff0c;使用Hessian二进制序列化。 添加依赖&#xff1a; <dependency><groupId>com.caucho</groupId><artifactId>hessian</artifactId><version>4.0.7</version> </depen…

EF框架中,在实体中手动更新字段,数据库数据未同步到程序中应该怎么解决呢?

在一些技术不是很强的选手手中&#xff0c;设计数据库时&#xff0c;难免会未考虑到某些字段&#xff0c;只能到后期实现功能时&#xff0c;才能觉察出来数据库中或是少写字段&#xff0c;或是多加了无用的字段&#xff0c;故我们还不得不去数据库中做些手脚。 本文列举的是在…

[.NET跨平台]Jexus独立版本的便利与过程中的一些坑

本文环境与前言 之前写过一篇相关的文章:在.NET Core之前,实现.Net跨平台之MonoCentOSJexus初体验 当时的部署还是比较繁琐的,而且需要联网下载各种东西..有兴趣的可以看看,但是..已经过时了.. 虽然已经出了.NET Core2.0 但是目前是预览版本,而且部署来说 相对比较麻烦. 今…

《四世同堂》金句摘抄(二)

System.out.println("今天读的是什么书呢&#xff1f;"); String bname "《四世同堂》"; System.out.println("今天读的书是&#xff1a;"bname);Console.WriteLine("今天读的是什么书呢&#xff1f;"); String bname "《四世同…

码农不重视文档:开源项目深受其苦

GitHub 刚刚发布了《2017 开源调查》报告&#xff0c;这家知名编程社交网站走访了 github.com 社区内 3800 多个项目和超过 5500 名成员&#xff0c;并且与 500 名在 GitHub 项目生态系统之外的编程者们进行了交谈。本次调查涉及多方面&#xff0c;比如人们在为开源项目做开发、…

[翻译]编写高性能 .NET 代码 第一章:性能测试与工具 -- 平均值 vs 百分比

平均值 vs 百分比 在考虑要性能测试的目标值时&#xff0c;我们需要考虑用什么统计口径。大多数人都会首选平均值&#xff0c;但在大多数情况下&#xff0c;这个正确的&#xff0c;但你也应该适当的考虑百分数。但你有可用性的要求&#xff0c;作为性能测试的目标里肯定会有用…

面对枯燥的源码,如何才能看得下去

转载自 面对枯燥的源码&#xff0c;如何才能看得下去 一个软件开发人员&#xff0c;工作到了一定的年限&#xff08;一般是3、4年左右&#xff09;&#xff0c;如果他还没学会阅读源码&#xff0c;那么他就会遇到瓶颈。因为到了这个时候的开发&#xff0c;他应该不仅仅只会做…