业界 | 如何成为一名数据科学家?听听来自Netfix的老司机怎么说

2018-09-20 16:05:07 浏览数 (1)

大数据文摘出品

编译:Jin、雪清、蒋宝尚

数据科学是什么?数据分析?机器学习?还是数据工程?答案可能有很多,但也许只有直接与某个公司的数据科学家交流,才能了解该公司是如何看待数据科学的。由Netflix举办的第三届聚焦数据科学的WiBD研讨会,为我们所有人了解Netflix的数据科学故事提供了绝佳机会,一起来看看吧!

数据科学是一个非常抽象的概念。有些人认为它是数据分析,也有一些人认为它是机器学习,还有些认为它带有一些数据工程的味道。

业界对数据科学这一概念难以达成一致有很多原因,其中一点就是,现在大范围内的岗位都可能涉及数据科学,并且这些岗位的职责都不尽相同。

此外,不同公司之间的细微差别,甚至是同一公司内部的不同团队之间的细微差别都会导致对数据科学的理解不同。因此,只有直接与某个公司的数据科学家交流才能了解该公司是如何看待数据科学的。

信息不对称是一个令人遗憾的事实,它阻碍了许多人追寻数据科学以及数据工程这一职业的道路。

如果我们投入越多的工作时间来解决这一棘手的问题,那么这一阻碍也就能越早被突破。关于这一点,推荐一个社会教育企业——HasBrain,该企业致力于填补信息缺口并且为想要学习并找到通往数据科学和数据工程道路的人提供帮助。

HasBrain:

http://www.hasbrain.com/

构建数据科学项目

头脑风暴活动

现实世界的数据科学项目与理论上的有何不同,如何构建数据科学项目才能更高效?Becky在研讨会上展示的数据科学项目体系对该问题总结得非常好。

以下是Becky的总结

步骤一:从了解业务问题开始

下面的幻灯片,是Becky就如何定义成功而列出的一系列业务问题。如果你想要很好地证明你的概念,你需要一开始要以一个简单模型作为基准,然后从增量改善(incremental improvement)的角度来评估模型的价值。

否则,你会一直困扰于75%的准确度是否足够好这样的问题。拥有物理学博士学位的Becky也提到,专业学者总是会仔细检查到最后那20%,以确保结果是无懈可击的。所以,如果博士生们想要成为数据科学家,这一点是需要特别注意的。

步骤二:制定技术计划

除了下面的幻灯片中列出的细节,Becky还强调了沟通的重要性,同时还提出要站在利益相关者的角度思考。因为利益相关者最关心的未必是机器学习的误差测度,所以要学会如何将业务目标转化为价值优化问题,这一点极为关键。

相较于“重新发明轮子”,弄明白和学会使用现有的技术可以为我们节省很多时间。现有的用于监督学习的技术,如预测建模或分类,都有很好的文档记录。

然而,在相对更先进以及更专业的机器学习领域(例如NLP和图像分类),新文章不断地发表,技术不断地更新。因此,即时了解最新和最好的研究论文是数据科学家们需要牢记的黄金准则。

步骤三:对概念进行初步验证 -> 不断迭代/验证直到成功或是无法再继续 -> 向利益相关者传达结果

如果你对工作流程甚至是数据科学家使用的工具或库还有任何的疑问,都可以参考Becky在项目构建中对“doing the project”这部分的详细描述。

步骤四:模型产品化

如果一些数据科学家告诉你必须要学会编写产品级代码,那么,他们可能需要独立处理模型产品化,而不是交给机器学习工程师或是软件工程师。

模型产品化本质上就是指不要在现有的模型输出上停滞不前。你的结果输出是产品的一部分,并且会改变用户的实际体验。

你的代码也会成为更大的产品代码库的一部分,例如,如果你归类用户是否会在未来两周内流失,被预测为会流失的用户和被预测为不会流失的用户可能会有不同的用户界面(UI)。

实际上,你是为其他团队创建了一个API来调用你的模型并获得模型输出。你可能需要重构你的代码,此时,只要API没有中断并且终端用户体验是无缝的,你就可以不断地升级模型。

Becky自学了工作中要用到的软件工程方面的知识,学会使代码模块化,以实现可重复性并提高算法效率。甚至有时,可能会参与到软件工程师或是数据工程师的团队中。这不仅取决于工作的复杂性,还取决于服务等级协议(Service Level Agreement, SLA)。例如,如果你的API需要一直处于运行状态,则可能需要更广泛的代码审查或软件工程团队的直接参与。

沟通与问题解决

在讲述了数据科学项目的构建之后,Becky更多地谈到了有效沟通和解决问题的技巧的重要性。如何向非技术人员的利益相关者们解释复杂的数据科学概念,是获得他们买进支持的重要环节。

Becky将她在攻读物理学博士学位期间学会的一项技能运用于此——将复杂问题分解成小块并逐一解决。类似地,她就将利益相关者的高阶问题(high level question)进行分解,并找出数据科学项目可以提供价值的地方。

如果没有数据科学家的工作经验,想要胜任这部分工作是不容易的,因为包括Kaggle项目在内的大多数实践项目都是从已经定义明确的数据科学问题开始的。Becky谈到,这些软技能其实是从经验中获得的,当然也可以从有效的反馈中学习。

与此同时,她也会阅读一些基础书籍来熟悉商业中的通用概念和术语。另外,许多其他资深的数据科学家们都建议,如果想要进一步发展自己的商业头脑,则需要阅读一些产品管理的书籍和文章。

实践练习

这个项目使用WDI数据来预测业务启动成本,非常适合初学者。如果你是机器学习新人,或是刚刚完成一些监督学习的网络基础课程,这将会是一个很好的额外练习机会。

hands-on exercise:

https://github.com/NFLX-WIBD/WIBD-Workshops-2018

现在,让我们回到之前谈论的问题解决和沟通方面,Becky就此提出了一个业务问题:“在不同的国家开展业务都有多难?”她还确立了一个项目目标,即预测在不同国家开展业务的成本。

如果这是一个实际的工作项目,对于开展业务的便利性来说,这些预测成本要如何成为整体评估决策中的一部分,我想,她可能需要与利益相关者就此问题达成一致。

最后,希望这个总结对你有帮助。祝所有数据科学爱好者们好运!并再次感谢Netflix团队的慷慨分享!另有演示的幻灯片和录像可供使用。

Presentation slides:

https://github.com/NFLX-WIBD/WIBD-Workshops-2018/blob/master/Data Science/WIBD - Data Science.pdf

相关报道:

https://towardsdatascience.com/a-peek-into-a-netflix-data-scientists-day-66bf3dacabb9

【今日机器学习概念】

Have a Great Definition

0 人点赞