《数据科学与分析:Python语言实现》 —1.2 数据科学家:现代鹿角兔

举报
华章计算机 发表于 2020/02/15 18:44:23 2020/02/15
【摘要】 本节书摘来自华章计算机《数据科学与分析:Python语言实现》 一书中第1章,第1.2节,作者是[英]赫苏斯·罗格尔–萨拉查(Jesús Rogel-Salazar),白 皓 刘江一 上官明乔 刁 娟 译。

1.2 数据科学家:现代鹿角兔

上述数据科学工作者在完成着一系列看似不相关的任务,“现代鹿角兔”似乎是描述这些统计学家或商业分析师的另一种更时尚的方式。然而,我们必须承认统计学家或者商业分析师和数据科学家存在差距,一名数据科学家所需的技能所涉及的不但包括大量统计和商业领域的知识,还包括计算机科学、数学、建模和编程方面的基础,良好的沟通技巧也是必备的。图1.1显示了这些技能及其关系的简化图。

 image.png

图1.1 数据科学所需技能及其关系的简化图

从这个意义上讲,数据科学家的角色不仅要收集和报告数据,还必须能够从多个有利的角度看待商业应用程序或流程,确定主要问题和后续行动,以及使用现有数据的最合适的方法。

就特征而言,数据科学家有很强的好奇心,随时准备探索和提出问题,审查假设和分析过程,测试假设和尝试解决办法,并根据结论向利益相关方和决策者传达结论、建议和警告。

数据科学家目前在科学领域,就如同文艺复兴时期传播新思想、新文化的角色,难怪尽管被评为21世纪最时髦的职业,并且对这类人员的总体需求不断增加,但仍然很难找到具备适当技能的人来填补这些职位。这导致数据科学家被称为“独角兽”(Unicorns)。

独角兽作为传说中一种美丽、神秘、难以驯服甚至难以捕捉的生物,其象征意义在某种程度上可以用来描述数据科学家。然而在我看来,独角兽更具有一种威严、庄重感,而数据科学家则显得通俗一些,因此这种比喻可能并非完全合适。

企业在试图招募数据科学家时,更有可能遭遇人才短缺的境遇,因为企业已经为这个角色设定了内部预期。然而目前没有人能够达到该预期,因此企业常常将数据科学家看作独角兽般的存在。不幸的是,存在这样想法的企业非常多。

为了解决这一问题,我坚信需要使用一个新形象来代表数据科学家。我经常对同事或者那些将数据科学家看作独角兽的人提及一个新形象,在我看来,它比现在的形象更合适:它仍然是神话中的生物,但并不像独角兽那么常见,更重要的是,基于一些模糊的事实,它又似乎曾经真实存在过,这就是鹿角兔(Jackalope)。你可以在图1.2中看到一对鹿角兔的艺术形象再现。

 image.png

图1.2 鹿角兔是神话中的动物

鹿角兔据说是一种奇怪的野兽,看起来像一只长着一对鹿角的野兔。它羞怯、聪明又可爱,当然,如果受到威胁,它也可能变得很危险。如果你处于美国的西部山区,会很容易听到关于鹿角兔的故事。当然,这并不是唯一流传鹿角兔的故事的地方,在奥地利的哈森博克也有鹿角兔的故事,甚至在维乔人那里你也可以听到兔子在科罗拉多失去了鹿角的故事。

无须解释,鹿角兔确实也是一个虚构的、神话般的存在,这点与独角兽很像,但对于数据科学家来说,它似乎是一个更好的比喻。因为对于我们来说,要遇到一个全能型程序员,并且他同时在数学、统计和概率方面拥有丰富的专业知识,还精通商业,这是相当困难的事,在最坏的情况下这几乎是不可能实现的。这对于那些想要攫取大数据中商业价值的企业来说,等于无法提供解决方案。

要抓住一只独角兽确实很难,如果你不能在野外遇到它们,可以用其余动物的不同部分拼凑一个,正如弗兰肯斯坦博士打造的怪物们的最佳风格那样——这就是鹿角兔形象派上用场的地方。1932年,道格拉斯·赫里克把一对鹿角贴在一只死掉的长耳大野兔身上,并把它作为艺术品悬挂起来,这的确是他的创意。时间一长,这便成了一段历史,美国怀俄明州作为道格拉斯的一个县,因此成了鹿角兔的发源地。

然而,我们并不需要编造一个猎人勇斗鹿角兔的假故事。正如前文所述,鹿角兔的存在并非空穴来风。然而对于独角兽,并没有人真正见过。由于存在一种病毒——棉尾兔***状瘤病毒(CRPV),该病毒是在20世纪30年代由Richard E. Shope发现的,它使受感染的兔子头骨中长出骨样结构。

上述内容是为了表明简单分析一下数据就能盈利是不切实际的想法,就像幻想依靠个体力量就能单枪匹马拯救整个团队一样。我想表达的是,如果我们准备真正区分神话中的愿望和混乱的现实,那么应该持有积极乐观的态度来思考如何寻找(或是培养)一个有能力的数据科学家。

满足企业(无论是一家初创企业还是一家大型企业)对数据科学家的需求的最佳方式,是聚集一大批鹿角兔般的数据科学家,而不是幻想着找到一个独角兽般存在的数据科学家(因为这样完美的数据科学家是几乎不存在的)。毕竟比起独角兽,找到一只鹿角兔般的动物更加现实,对吧?

因此,下一个问题涉及如何将这一类数据科学家集合在一起,他们应该各自扮演什么角色,以及提供什么资源。这些问题也许不容易回答,因为这在很大程度上取决于企业所在的领域的洞察力,以及相关需求(见1.4节)。然而,在处理数据科学家难题时,还是有一些通用准则的。

数据科学家及数据科学团队的特征

似乎每个人都喜欢或者希望拥有一位完美的数据科学家,并且将其对于该领域业务需求的了解作为主要的考察方向。正如我们所看到的,这种一厢情愿的期望使得企业很难在候选人中做出选择(因为每个候选者总会在某个领域或多或少有一定的欠缺)。

此时我脑海中浮现的比喻是永恒的相亲之谜:每个人都在等待心目中的公主或白马王子,却永远也找不到“那个人”。对于一个被看作“最佳”人选的数据科学家,其所需的技能已经在前文节中讨论并总结在图1.1中。

让我们先停顿片刻,再讨论数据科学团队的目标究竟是什么。因为这是建立该团队的关键步骤,这些目标的确立将有助于确定大家所期望的数据科学家的重要特征。此外,要清楚地知道他们将如何契合企业,以及期望他们解决什么问题将有助于确定团队的规模和所需掌握的业务知识类型。常常听闻很多企业期望驾驭数据科学浪潮,但对其数据科学之旅却没有明确的目标,这并不罕见。

根据数据科学团队的目标,在特定条件下来决定相关要点要容易得多。一般来说,优秀的数据科学家通常具有以下特征:

  • 好奇心。

  • 掌握机器学习方面的知识。

  • 能够进行数据产品的建模和管理。

  • 有效的沟通能力,能够清晰表达自己对数据的见解。

  • 具有编程和数据可视化能力。

  • 了解统计和概率知识(熟悉其他数学领域也可以)。

  • 科学的怀疑精神,能够大胆假设,进行实验,小心求证猜想和假设等。

需要认识到的重要一点是,上述特征并非缺一不可,也没有固定的组合模式。认为数据科学家应具备上述所有特征正是我们前文一直在讨论的出现独角兽谬误的主要原因。如果你的数据科学家在某些方面有所欠缺(就像鹿角缺少一些发达的分支那样),你所要做的就是向他们伸出援助之手,帮助他们更好地掌握这些欠缺的技能,拉近实际情况与理想特征之间的差距。换句话说,就像赫里克先生所带的团队那样,把你的数据科学家团队打造成大部分人具有广泛的知识面,少数人拥有一两个领域中深厚的专业知识的团队即可。

明智的做法是先从打造坚实的团队核心成员开始,而不要被上面的特征清单所迷惑。换言之,数据科学团队的核心成员如同建筑物中打下的坚固的地基,没有地基的存在,整个建筑可能在瞬间倒塌。此外,利用核心团队的优势有助于先取得一些小的胜利。我所提到的数据科学团队的核心包括下列三个主要角色(又称数据科学团队的三大支柱):

  • 数据科学项目经理。

  • 首席数据科学家。

  • 数据架构师。

在管理团队中拥有有能力和经验的项目经理是至关重要的,其存在的主要目的是应对这样一个现实问题:多数数据科学家更感兴趣的是如何直接处理一个接一个的技术问题,而不是从始至终管理项目。因此帮助他们实现目标的一种方式是找到一个知识全面的人,一方面能够跟踪项目进展情况,参加会议和管理关系;另一方面,也对算法和各类技术栈有全面的了解,以便能够有效地与团队进行联系。项目经理不必是忍者型程序员(即能够完全解决问题的程序员),但是应该能够理解团队的其他成员正在做什么,以及明确他们可能面临的挑战。

核心团队的第二个关键角色是首席数据科学家。团队中不但要有一个好的项目经理,而且要有一个在专业领域(如物理、数学、计算机科学等)有很强技术背景的人。理想情况下,这个人的学术资历就能证明一切。在编程方面,这个人可能不是一个完全意义上的开发人员,但是他应该在编码和使用技术解决问题方面有坚实的背景。这个角色的重要作用在于能够扮演团队中其他数据科学家和分析师的顾问或向导的角色。

核心团队的第三个关键角色是数据架构师,该角色将在数据结构、数据库、软件工程和计算能力方面提供专业知识。对于数据架构师来说,重要的是能够分离业务可能拥有(或可能没有)的数据资源,并且能够使用他们的专业知识来评估哪些数据是可用的,何时是可用的,以及制订合理的工作流程来管理业务、拟定规则和保证项目开发的安全。理想情况下,数据架构师会对某些特定主题感兴趣,但最重要的一点是,他们的编程技能必须非常纯熟。需要注意的是,数据架构师和数据科学家在日常工作中使用的技术应该完全相同。

最后总结一下,要建立一支数据科学团队,有4个重要的方面需要注意:

第一,考虑数据科学团队的主要利益相关者是谁,并明确报告的内容。记住,每个利益相关者都想要拥有自己的数据科学家,而混淆或冲突的消息会导致不期望出现的结果(因此要分清主次)。

第二,对于数据科学家来说,要能够独立完成工作,而且,能够高效地完成数据模型的搭建是非常重要的。这包括能够用适当的工具提取相关数据(见1.3节)等。如果没有强大的专业IT工具支持,数据科学团队将很难做到尽善尽美。

第三,?一旦数据被确定用于处理某个问题,得到正确的解释不一定是容易的事情,错误的结果可能是非常有害的,必须依靠相应的专业知识来解释和修正结果。一些机器学习算法类工具被视为黑箱的情况并不少见,往往只有实践才能出真知。

第四,始终牢记产品准则:拥有正确的IT和统计/机器学习技能固然很重要,但团队必须清楚地了解他们所努力打造的最终产品以及目标受众是谁。你可能能够提出令人惊叹的模型和结果,但是如果受众对产品不感兴趣(即未能抓住痛点),或者数据科学家未能将结果完美地展示出来,则意味着该产品是失败的。

此外,还要考虑用于呈现结果的工具,换句话说,假如数据科学家的产品中所采用的技术能够令其目标受众眼花缭乱,但是大家无法从结果展示中看出该技术的价值,那么,产品还未展示就意味着已经失败了。

我的经验是使用JavaScript庞大的类库,如D3(Data-Driven Documents)。倡导使用D3是因为它们对受众是有效的,甚至使用起来非常有趣。然而,它们通常只在较新版本的浏览器上工作,不幸的是,许多机构使用的浏览器版本比较陈旧。因此如何呈现解决方案(如仪表板、报告等)就成为一个需要探讨的话题。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。