初创公司数据科学项目全流程指南,一位资深数据科学家的经验谈

作者:网友投稿 时间:2019-01-23 21:06

字号

编译:小七、张南星、张秋玥、倪倪、夏雅薇

无论是管理人员还是创业公司中的不同团队,都可能会发现数据科学项目与软件开发之间的差异并不直观。如果没有明确的说明与解释,可能会导致数据科学家与其同行之间的误解和冲突。

来自学术界(或高度研究型的行业研究小组)的研究人员在初入初创公司或小型公司时可能会面临各自的挑战。他们可能会发现将新型输入(例如产品和业务需求、更严格的基础架构和计算约束以及客户反馈)纳入其研发过程中是很有挑战性的。

这篇文章的目的是介绍我近年来在同事与我自己的工作过程中发现的特色项目流程。希望这可以帮助数据科学家和与他们合作的同事以其独特方式来构建数据科学项目

这个流程是建立在小型初创公司的基础之上的,一小组数据科学家(通常是一到四位)一次由一个人负责管理短期中型项目。较大的团队或机器学习优先的深度科技创业公司可能也会觉得这一结构有用,但大部分时候他们的流程会更长,结构也不尽相同。

初创公司的数据科学项目流程

图1:初创公司的数据科学项目流程

我将这个过程分为三个方面:产品、数据科学和数据工程。在许多情况下(我工作过的绝大多数地方)可能压根没有数据工程师来履行这些职责。这时数据科学家通常会与开发人员合作解决这些问题。或者,数据科学家可能会(自己)完成这些准备工作——他们就是传说中的:全栈数据科学家!✨🦄✨。根据所处环境的不同,你可以随时用数据科学家来替代数据工程师。

在时间轴上,我将这个过程分解为四个不同的阶段:

界定范围

研究

(模型)开发

部署

我会尝试按顺序引导您完成每一项操作。

一、范围界定

比起任何其他类型的项目,定义数据科学项目的范围更重要。

数据科学项目

1. 产品需求

项目应始终从产品需求开始(即使最初的想法是技术或理论上的)。该产品需求需要在一定程度上由产品/业务/客户方面的关键人员进行背书。产品人员应该知道这个功能应该(大致)最终看起来如何,并且现有客户或新客户愿意为此付费(或者它将阻止用户流失/将增加订阅数量/将推动其他产品的销售等等)。

产品需求并非项目完整定义,而应该被视为问题或挑战。例如:“我们的客户需要一种方法来了解他们如何花费预算”,“我们无法让老年用户继续服用他们的药物。这导致了客户流失增加“,或”如果产品能够预测机场的高峰时段,那么客户将愿意为此支付更多费用“。

2. 初期解决方案构思

在这里,数据科学家与产品负责人、数据工程师以及任何其他利益相关者一起,为可能的解决方案提出了不同框架草案。这些方案会囊括项目的一般方法(例如,无监督聚类、基于提升树的分类模型还是概率推理)和要使用的数据(例如,某一数据库中的特定表、我们尚未监控或记录的某些特定用户行为还是外部数据源)。

这通常还涉及一定程度的数据探索。这里你不用太深入但一些最基本的信息都能帮我们定下思考方向。

数据科学家应该带头领导这一过程,并且通常应负责提供大多数解决方案的构思。但我会建议所有参与此过程的人都进行方案构思。我曾有幸从后端开发人员、CTO或产品负责人那里得到了最好的项目解决方案。不要先入为主假设那些并非来自理论背景的人无法参与这一阶段的贡献——新鲜的思想和观点输入总是有价值的。

3. 数据准备及可得性

团队现在应该很了解解决问题需要哪些数据了(或者至少是初始数据集或数据来源)。因此,在进行下一阶段的同时我们应当已经开始准备数据访问权限以及数据的使用探索了。

如果在研究阶段时间不是很关键的话,这有时可能需要将大型数据集从生产数据库转储到对应的临时/探索环境中,或转到离线存储的空间(例如,对象存储)。有的情况下,它也可能意味着将大型数据从很少访问的存储器拉回到表或文档形式,以实现快速查询和复杂计算。无论如何,这个阶段对整个项目都是很有必要的,并且经常会花费比预期更多的时间(因此这是启动该阶段的最佳时机)。

4. 范围和关键绩效指标

这一阶段是关于决定项目范围和关键绩效指标。

责任编辑:CQITer新闻报料:400-888-8888   本站原创,未经授权不得转载
继续阅读
热新闻
推荐
关于我们联系我们免责声明隐私政策 友情链接