写点什么

数据科学团队管理实战

  • 2017-08-21
  • 本文字数:2426 字

    阅读完需:约 8 分钟

数据科学团队的运营不是通过观看 Coursera 和 Udemy 上的讲座和视频就可以学会的。不要误解我们的意思,这两个网站是学习数据科学和机器学习理论及实践问题的好地方。

不过,它们不教授有效的商业实践,也不教授如何运营商业环境里的数据团队。了解算法,知道如何使用 Hadoop,并不足以让我们拥有一个高效的数据团队

给数据科学团队的建议

团队需要和其他部门一起工作,他们需要维护软件,向主管报告,当然,带来商业价值!与分析和商务智能一样,数据科学也只是让企业更高效地赚钱的工具。

大多数数据科学课程都没有提及上述内容。这就是为什么不仅自定义数据科学算法和模型是我们的重点之一,数据科学团队建设也是我们的重点之一。

我们希望提供一些好的方法,帮助数据科学团队取得更大的成功。这与算法和模型无关,一切都是关于企业里的数据专家如何运营数据团队。

ROI Vs. 算法与技术

作为程序员、数据科学家和工程师,对于我们的数据项目或者正在开发的软件,我们大多数人都把更多的注意力放在了技术方面。我们开发产品不只是为了钱,而是为了证明我们能做什么。这是一个挑战!我们是问题解决者。

也许我们希望证明,我们能够开发出一个算法,预测一款产品是否受欢迎。仅仅是为了好玩!

不过,归根结底,我们数据科学家、数据顾问和软件工程师都受雇于企业,而那些企业希望看到财政营收。你是使用了基于神经网络的算法,还是基于支持向量机的算法,这并没什么关系,只要最大限度地节省成本,或者带来最大的收益。

重要的是记住,数据科学家或大数据分析师越快弄清楚这个问题,就越能有效地发挥他们的作用。数据科学家都要有一点企业家精神

数据科学家寻找机会为企业省钱,或者发现新的价值流。我们经常是正确的,因为我们不仅了解业务,我们还有数据支撑我们的观点。

这就是有一个与企业步调一致的数据团队的价值之一。他们有推动决策的数据。

数据工程

有个方面有时候会完成得比较仓促,那就是数据工程。它可能看上去不重要,可能看上去很容易修改。但是,如果数据的设计规划不便于操作和开发,那么数据科学家在设计算法和下游工作流时会陷入时间地狱。

这是indeed.com 上数据工程师的职位需求占比高于数据科学家的原因之一。

数据的组织方式在分析方面非常重要。我们团队有几名成员最初就是数据工程师,这就是为什么他们如此重要。他们不仅能够创建优美的算法,还能够创建数据管道,让数据能够自然地从点A 到点B,从数据仓库到算法。

经过良好设计规划的数据易于修改,容易接入新模块及报告新指标,等等。它可能看起来奇怪,但借助良好的数据工程,一切都是有可能的!

系统设计也是为了数据科学家

设计算法的时候很容易忘记,设计结果是需要真正地在生产环境中实现的。

数据科学家不能只是设计算法并就此止步。相反,那通常需要某种形式的数据仓库或数据存储中心,而且作为一个系统,既提供数据,又记录来自开发好的模型的数据。算法不是一个本身可以创造美元的独立岛屿。

通常也会有一些某种形式的接口,用户可以与之交互。

举例来说,这可能是一个网站或者一个故事板。其目的是让终端用户对直接传达给他们的东西有可行且可理解的见解,而不用他们转换模型产生的随机数和输出。

当我们只是在课堂上做一个Kaggle 题目或者创建一个项目时,这会被忽略。这就是为什么像Galvanize 这样的项目会让他们的学生和实际的企业建立合作伙伴关系,因为将一个算法投入生产环境所需要完成的工作比只是开发它要多。

需要操作老系统,筛选API 文档,还有缺陷、变通方案,当然还有公司政治。

公司政治,是的,你会卷入的

企业总是有政治,没有办法可以绕过。数据科学高管和项目负责人需要能够和其他团队共事,像其他部门一样筹集资金。

这需要了解其他高管想要什么又需要什么,务必保证他们支持你的项目。如果他们不支持你的项目,如果他们等待机会背后捣鬼(而且那种情况出现了),那么你的项目就会失败。

不要控制,而是要引导其他团队的负责人,让他们同意你的观点,或交换方案,或折中方案。务必确保你没有触到任何人的痛点……至少,在你的数据团队多次证明自己之前不要。即使已经多次证明过自己,也不要让自己变得难以共事。

否则,没有人会为你的业务团队提供资源。

文档是数据团队的朋友

好吧,有件事85% 的程序员都得承认,就是他们讨厌文档。没关系,这不是最有趣的事。不过,坚持编写文档非常重要。

不要等项目结束了再写文档!!!

数据科学算法、数据结构、软件都需要不断地记录到文档上。

没有人要求数据团队再写一本《汤姆·索亚历险记》。务必保证注释清晰易懂,任何程序员都可以理解。

你永远不知道一个团队成员何时会离开,从而留下一堆进行到一半而又没有文档的项目。

因此,为了保持可维护性,务必让你的数据团队随着项目进行编写项目文档。那会让你的团队节省大量处理技术债务的时间,并确保你的项目可以继续运转下去。

数据科学项目需要有软件QA 和生命周期

数据科学是软件开发的一部分。就是说,需要有一个流程来确保开发出的代码健壮、可维护。

怎么做?

针对代码和数据设定一个不错的 QA 流程,确保代码从开发环境进入生产环境有一个标准化的流程。

不,你不应该在生产环境中测试代码!

问题就是那样出现的!!!

不要误解我们的意思,你需要推出代码,但不能以破坏构建为代价。

同行审查、QA 和单元测试可以帮数据团队避免许多麻烦。确保不要出现持续的干扰,如一名工程师花很长的时间对其他人的代码进行同行审查。

同时,确保你没有让开发出的代码直接进入生产环境里!!

算法不是数据科学的全部

事实上,数据科学和分析并不是一颗魔弹。它只是另外一种工具,企业可以用它增加收益,降低成本。如果运营得当,它会产生巨大的竞争优势。如果数据设计规划良好,那么团队其他的业务也会运转良好。

查看英文原文 Practically Managing A Data Science Team


感谢蔡芳芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-08-21 19:001926
用户头像

发布了 1008 篇内容, 共 387.7 次阅读, 收获喜欢 344 次。

关注

评论

发布
暂无评论
发现更多内容

市场进展不断,STI 包括ZB等一系列上线预示着什么?

BlockChain先知

MQ存储消息的MYSQL表格设计

邹玉麒

架构训练营5期

linux之rename命令

入门小站

模块八

blazar

「架构实战营」

架构实战营:模块八作业

刘璐

浅谈项目中的需求管理

秋去冬来春未远

需求管理 需求分析 需求和问题

开疆作剑,开荒为犁:2022春天,文心大模型走进产业的百花深处

脑极体

架构训练营模块八

Geek_16d2b8

架构训练营 模块八

爱讲故事的计算机科学家,和他的分布式系统

多颗糖

【架构学习08】——设计消息队列存储消息数据的 MySQL 表格

tiger

架构实战营

文件包含漏洞带来的危害

喀拉峻

网络安全 漏洞

设计消息队列存储消息数据的 MySQL 表格

smile

尤达 DDD 领域驱动设计思想课程总结

代廉洁

尤达DDD领域驱动设计思想

多系统信息化实施项目注意事项

秋去冬来春未远

数字化 信息化 系统集成 ERP 多系统

Bigdata 作业第七周

Pyel

[Day18]-[动态规划] 打家劫舍3

方勇(gopher)

LeetCode 动态规划 数据结构和算法

消息队列MySQL存储设计

石小天

「架构实战营」

模块八作业

Geek_ec866b

架构训练营

一个系统工程师的14条建议

一席

高可用 稳定性 SRE 混沌工程 故障排查

消息队列存储消息数据的MySQL 表格设计

tom

性能分析优化的道与术

老张

性能优化 性能分析

模块3 作业

KennyQ

微信小程序开发设计需要注意的五个点

源字节1号

前端 后端 软件开发 小程序开发

作业八

Geek_f3e842

架构实战营

在线ASCII Banner艺术字生成工具

入门小站

工具

消息队列存储消息数据的MySQL表

Fingal

#架构实战营

[模块8]消息队列存储消息数据的MySQL表格

凌波微步

「架构实战营」

都是分布式操作系统,Laxcus和鸿蒙有何不同?

LAXCUS分布式操作系统

分布式计算 分布式存储 集群架构 鸿蒙系统 分布式操作系统

你好spring-cloud-kubernetes

程序员欣宸

4月月更

消息队列存储消息数据的 MySQL 表格

阿卷

架构实战营

模块8作业

Mr小公熊

数据科学团队管理实战_大数据_SeattleDataGuy_InfoQ精选文章