关于数据科学家的困惑很大部分归咎于:数据科学不是一个具体的职务,而是一种在机构中解决问题的方法。因此,数据科学可以包含多种教育背景、技能、工具、实践。实际工作中的数据科学家们,背景和技能的跨度很大,很难被一概而论。
相对而言,描述数据科学的实践是什么样的可能更容易。
简单地说,数据科学是用数据主导的答案解决实际问题的实践。实现这个目标的技术可能多种多样。你会常常听到数据科学家使用传统统计学、贝叶斯方法、机器学习、计算工具、行业领域知识来回答问题。
有时数据的规模会非常巨大,需要使用复杂的工具和方法来穿过迷雾,得到隐藏在数据中的清晰结论。但是没有哪个方法、工作、算式能回答所有问题,所以也很难为数据科学家下定义。
展示可能比陈述更有说服力。就让我们来走入数据科学家平凡又不平凡的一天。
早晨
早晨的第一件事可能是这一天日程中为数不多的惯例。
我们的团队在早上进行例会,分享前一天的进展和问题。这和软件开发的“站立”会议可能有点不同。对我们来说,“进展”既可以是建设了一部分软件,也可以是阅读了一篇可以让我们对手头问题有更深理解的论文。
数据科学可能在许多方面与大学里的学术行为不同,但它依然是对科学方法的合理运用。
通常,我们的挑战是如何把“未知”变成“已知”。不仅如此,还要让它“可执行”。
这意味着通过分析数据检验某个假设,建立测量效果的方法,对这个过程进行迭代,直到最终的研究结果被修正到足够有用的水平。晨会是一个交流各个试验进展的机会。
上午
现在我们有了各自的任务。是时候做一点实际工作了。这是一天中最有趣的部分。这是我坐下来专注于一个实际问题的时候。
这可能意味着研究处理偶图的方法,或者写一些代码计算高斯超几何函数。但每个星期面对的问题很少相同。拥有数学、统计、编程的背景对解决这些问题来说很重要,但仍然不够。成为每种方法的专家是不可能的。下一个问题将需要什么知识也是无法预知的。
这就是为什么数据科学家需要不断学习和无穷的好奇心。
多数情况下,每个新问题需要一种新方法。这些方法不仅对你来说是新的,对整个世界来说也是新的。这是数据科学的挑战之处和刺激来源。
不确定性不仅是一种统计学的属性,也是一种生活方式。
午间
数据科学的实践不止于应用某些算法的技术细节,或是在白板上写出高深的算式。
归根结底,我们要解决现实生活中的问题。这意味着理解其他人面对的问题。午间是跟客户、商业拓展部门、服务部门以及任何对我们客户和合伙人每天面对的问题有全面了解的人士碰面的好时候。
大数据分析和机器学习的力量如果不能为他人创造便利就没太大意义。这是数据科学中一个重要的,但是常被忽略的步骤。它决定一个项目最终的成败。这也是区分数据科学与传统学术的一点。
把一个业务问题翻译成一个缜密的研究项目,再把研究结果翻译成一个实际的解决方案,这需要对业务的深入理解,以及大量的创造力。
闭门造车,没完没了做算法调优的数据科学团队永远不会成功。的确,有时为了让一个项目最终交付需要这么做。但如果这些都不能投入实际应用还有什么意义?
数据能告诉我们的关于世界的知识与数据本身中间存在一道鸿沟。与一线工作人员保持良好的交流关系,是弥补这一鸿沟的唯一方式。
下午
我们已经卷起袖子,从技术和实际的层面钻研了问题。是时候退一步,思考一下全局了。
我们常常在下午花些时间详细讨论某个项目的目标,或者探讨把一个研究项目变成可交付的形式所需的剩余步骤。
与产品团队的密切交流可以确保我们的工作与机构的总体愿景/目标保持一致。确保专注于关键问题是很重要的。由于我们的工作是解决问题,所以必须确保解决方案行得通。我的意思是,在实际工作中行得通。根据特定业务提供解决方案只是个开始。
我们需要建立可靠的、可重复使用的工具。
这既包括把一个试验推广到更多的实用案例,也包括构造一个能够深入产品的解决方案。
这个环节是我们最像软件开发者的部分,考虑并编写一些测试来确保表现、稳定性、扩展性。我们在Umbel的软件工程团队负责建立宏大的系统,我们不能扔给他们额外的工作,让他们为我们收拾烂摊子。
把这些试验变成软件的一个功能,唯一的办法是在项目全程时刻想着这个目标。这也就是为何研究阶段不应只包含数学。
我们需要知道我们不仅能解决某个问题,还能现实的限制中构造软件来解决这个问题。
结束这一天
经历了所有这些之后,有必要深吸一口气,看看自己究竟走了多远。有些日子会比其他日子走的更远。大多数试验则以失败告终。
多数解决方案在最终展示之前需要调整打磨。通常很少有什么能保证你选择的路线是对的。开天辟地的过程始终伴随着不确定性。但这个过程中的每天,你都会学到新东西。这一天的结尾,我们反思我们学到了什么,并把这有关世界的新知识带到明天的晨会。
经过足够的努力,我们最终获得针对特定问题的直接可行的答案。
我们可以对这个答案充满自信,因为它由数据严谨地支撑。这个时候,我们还是没有结束代码的编写。正如我之前所说,数据科学项目的一个关键环节是把最终结果翻译成有意义、实用的东西。
我们需要把我们学到的东西有效地传达给不同背景的受众。最终,我们需要利用数据讲一个故事。跟其他环节一样,这个环节没有什么唯一的正确方法。这个环节中我们寻找用图表把结果可视化的方法,或者在一个平面展示从问题到解答的各个环节,或者仅仅是宣布“好的,我们需要做的事是这样的。”
这里的关键在于,在结束时,每个人都能理解要做什么以及为什么这么做。