您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 大数据 > 正文

精英数据科学家应该具备这些能力和特质

发表于:2018-04-08 作者:佚名 来源:cio.com

数据科学家的需求仍然很高,几乎每个行业的企业都希望从其蓬勃发展的信息资源中获得最大价值。

“随着企业开始充分利用内部数据资产,以及审视数百个第三方数据源的整合,数据科学家的作用也在变得越来越重要,”咨询公司Protiviti总监Greg Boyd这样说。

“过去,负责数据的团队只是IT部门的后台,执行关键数据库任务,确保各种公司系统得到数据‘燃料’的支持,这让企业高管能够报告运营情况并提供财务结果。”

这个角色很重要,但冉冉升起的业务明星都是那些精明的数据科学家,他们不仅能够利用复杂的统计和可视化技术处理大量数据,而且具有极强的敏锐度,让他们可以从数据中得到前瞻性的洞察,这些洞察有助于预测潜在结果,并减少对企业的潜在威胁。

精英数据科学家应该具备这些能力和特质

那么,成为数据科学家需要具备哪些条件呢?下面就是我们根据IT领导者、行业分析师、数据科学家的看法,总结出的一些重要属性和技能。

批判性思维

数据科学家应该是具有批判性的思想家,能够在提出意见或作出判断之前,针对特定主题或问题对事实进行客观的分析。

咨询公司普华永道负责数据分析的全球人工智能和创新负责人Anand Rao表示:“他们需要了解业务问题或业务决策,并能够‘模拟’或‘抽象’解决问题的关键,而不是那些无关的、可以忽略的事情。这项技能比其他任何因素都更多地决定着数据科学家能否取得成功。”

数据科学家需要有经验,但也要能够摒弃先见,Zeta Global公司首席信息官Jeffry Nimeroff补充说。

Nimeroff说:“这种特质是要知道在任何领域工作都能有所期待,但也知道经验和直觉是不完美的。有经验是件好事,如果我们过于自满,那风险也是存在的。这就是摒弃先见的重要性所在。”

这并不是说要以新手的视角来看待事情,而是要从多个角度重新审视,或者能够评估问题和情况。

写代码

顶尖的数据科学家知道如何写代码,并且能够轻松处理各种编程任务。

Rao说:“数据科学的语言选择正在朝着Python方向倾斜,R语言也有大量追随者。”此外,还有其他一些正在使用中的语言,例如Scala、Clojure、Java和Octave。

“要成为一名非常成功的数据科学家,编程技能就需要同时覆盖到计算方面——处理大量数据、处理实时数据、云计算、非结构化数据以及统计——和工作与统计模型方面——如回滚、优化、集群、决策树、随机森林等。”

安全软件公司McAfee的首席数据科学家Celeste Fralick说,大数据从20世纪90年代末开始产生影响力以来,就要求越来越多的数据科学家理解并能够使用诸如Python、C ++或Java等语言进行编码。

如果一个数据科学家不懂如何写代码,那么就应该聘请一群会写代码的人。“把数据科学家和开发人员组成一个团队,这被证明是非常成效的,”Fralick这样说。

数学

对于不喜欢或不擅长数学的人来说,数据科学可能不是一个很好的职业选择。

Boyd表示:“在我们与全球组织的合作中,我们认识了很多希望开发复杂财务或运营模式的客户,为了使这些模型具有统计相关性,就需要有大量的数据。数据科学家的角色,就是利用他们在数学方面的深厚专业知识,开发出可用于开发或转移关键业务战略的统计模型。”

数据科学家应该是擅长数学和统计学的,同时具备与业务线主管密切协作的能力,以确保业务可以信赖其结果和建议的方式,与业务线主管沟通在复杂的“黑盒子”中实际发生了什么。

机器学习、深度学习、人工智能

计算能力不断提高,连接性增加,以及收集到的海量数据,很多行业都在飞速的发展中。 “数据科学家需要走在研究前沿,知道在什么时候运用什么技术。很多时候,数据科学家会采用那些‘性感’而新奇的技术,而他们实际要解决的问题远没有那么复杂。”

数据科学家需要对他们要解决的问题有着深入的了解,数据本身会告诉你需要什么。Fralick说:“意识到生态系统的计算成本、可解释性、延迟、带宽,以及其他系统边界条件,还有客户的成熟度,这可以帮助数据科学家知道他们应该运用哪种技术。”的确如此,只要他们对这种技术是了解的。

统计方面的能力也是很重要的。Fralick说,大多数雇主都没有考虑这方面的技能,因为他们轻而易举地就能使用各种自动化工具和开源软件。“但是,了解统计数据是理解这些工具和软件所做假设的关键能力,”她说。

数据存储公司Micron首席信息官Trevor Schulze说,仅仅理解机器学习算法的功能接口是不够的。“为了选择合适的算法,数据科学家需要了解方法中的统计数据以及数据准备技术,以最大限度地提高任何模型的整体性能。”

Schulze说,计算机科学能力也很重要。因为数据科学的工作主要是在键盘上进行的,所以坚实的软件工程基础能起到帮助作用。

沟通能力

沟通技巧的重要性不言而喻。如今各种技术几乎没有哪些技术是在真空中使用的;系统、应用、数据和人员之间总是存在着整合。数据科学也是如此,能够利用数据与利益相关者进行交流,这是一个重要特质。

“用数据‘讲故事’的能力,是可以把数学结果转化为可操作的洞察或者干预。作为业务、技术和数据的交叉点,数据科学家需要善于向每个利益相关者‘讲故事’。”

这其中包括,向业务主管传达数据的商业利益;技术和计算资源;数据质量、隐私和机密性方面的挑战;以及该组织感兴趣的其他领域。

Nimeroff表示,作为一名优秀的沟通者,能够将具有挑战性的技术信息提炼成完整的、准确且易于呈现的形式。“数据科学家必须记住,他们执行所产生的结果,可以并且将用于支持业务的特定行动。因此,要确保受众理解并接受摆在他们面前的所有内容,包括问题、数据、成功标准和结果,这是至关重要的。”

Schulze说,优秀的数据科学家必须具有商业头脑和好奇心,才能充分地与业务利益相关者沟通,了解问题并确定哪些数据可能是相关的。

此外,数据科学家需要能够向业务领导者解释算法。Schulze说:“解释算法是如何实现预测的,是获得领导者对作为业务流程一部分的预测模型的信任的关键技能。”

数据架构

数据科学家必须从一开始、到模型、再到业务决策的过程中,就了解数据的所有情况。

“如果不去了解架构可能会对样本规模的推论和假设产生这样严重的影响,这就会导致错误的结果和决策,”Fralick说。

更糟糕的是,架构内部也可能会发生变化。Fralick说,如果不了解对模型的影响是从何而起的话,数据科学家最终可能会“不得不重做模型”,或者突然遇到模型不准确的情况而不知道其中原因。

Fraclick表示,虽然Hadoop通过将代码传递给数据(而不是相反)来通过提供大数据,但了解数据流或数据管道的复杂性对于确保基于事实的决策制定是至关重要的。

风险分析、过程改进、系统工程

敏锐的数据科学家需要了解分析业务风险、改进流程以及系统工程等概念。

Fralick表示:“我所知的优秀数据科学家无一不具备这些能力。他们紧密合作,对内焦点是数据科学家,对外专注于客户。”

对内,数据科学家应该谨记“科学家”三个字,遵循良好的科学理论,Fralick这样说。

在模型开发开始时进行风险分析可以降低风险。“表面上看,这些都是数据科学家了解客户想要解决什么问题索要具备的技能。”

Fralick表示,将支出与流程改进联系起来,了解固有的那些公司风险,以及可能影响数据或模型结果的其他系统,这些可以通过数据科学家的努力实现更高的客户满意度。

解决问题的能力和良好的商业直觉

一般来说,伟大的数据科学家所展现的特质,与任何一个好的问题解决者都是相同的。Nimeroff表示:“”他们会从多角度看待世界,他们会在动用所有工具之前,先了解他们应该做什么,他们以严谨而完整的方式工作,并且能够顺利地解释他们的执行结果。”

当评估数据科学家等职位的技术专业人士时,Nimeroff会寻找这些特质。“这种方法成功的几率要比失败的几率高得多,并且也确保了潜在的优势得以最大化,因为批判性思维已经走到了最前沿。”

寻找一位优秀的数据科学家,就是要寻找拥有某种矛盾性技能的人:可以应对数据处理,并创建有用的模型;能直观地理解他们正在尝试解决的业务问题、数据的结构和细微差别、以及模型的工作原理,商业软件供应商Paytronix Systems的Paytronix Data Insights主管Lee Barnes这样说道。

“其中第一个是最容易找到的;大多数拥有良好数学能力,拥有数学统计学、工程学或其他科学学科学位的人,可能在这方面是非常出色的。第二个却很难找到。令人惊讶的是,很多人建立了复杂的模型,但是当他们被问及为什么他们认为这个模型能够奏效、或者为什么他们选择这个方法的时候,他们却无法给出一个很好的答案。”

这些人也许能够解释模型有多准确,“但是,如果不理解模型为什么以及如何工作,就很难对他们的模型抱有很大的信心。能够对于正在做的事情有更深入的了解和直觉,这样的人才是真正的数据科学家,并且可能在这个领域拥有成功的职业生涯。”Barnes说。