数据科学工作中存在的7大问题与解决方案
注:在本文中,虽然我使用数据科学家一词,但是诸如机器学习工程师,数据分析师,数据工程师,BI分析师之类的热门职务也承担着类似的责任,可以在此处互换使用。
本文编译自Dan_Friedman的技术博客。
我对成为数据科学家的潜在影响寄予厚望。我觉得每个公司都应该是一个“数据公司”。
但我的期望没有达到现实。
我的期望从何而来?
我在2016年中参加了为期12周的数据科学训练营。在这12周的时间里,有11周的时间专注于机器学习(ML)和人工智能(AI)。彼时,ML和AI的新闻报道创下了历史新高。特斯拉为自动驾驶汽车铺平了道路,甚至像通用汽车(GM)这样的老庞然大物也向一家AI公司投资了超过10亿美元,以保持其在汽车技术领域的领先地位。在消费者端,出现了可以利用AI技术进行同声传译的耳机,也出现了可以击败世界上最好电竞团队的AI。
那时我觉得如果我努力钻研代码和数据,可以发现一些隐藏的范式,在工业上利用机器学习模型并能对其进行优化。高管可能会依靠我的基于数据的见解来确定产品路线图,此时我将在公司发挥巨大价值,走上人生巅峰。
但是,几乎没有任何事情发生。
在过去的几年中,我曾担任数据科学家,数据工程师和行业顾问。我还从数十位数据科学家和类似行业的故事中学到了东西,积极阅读有关数据科学的文章,并在Twitter上关注数据科学的领袖人物。
在这些实践当中,我发现了一些共性的问题。
以下是数据科学未能达到行业期望的七种共性问题。后面我会针对这些问题提出解决方案。
-
人们不知道“数据科学”的作用。
-
数据科学的领导力非常缺乏。
-
数据科学不一定总是按照规范构建的。
-
你可能是唯一的“数据人”。
-
数据科学家的影响力很难衡量-数据并不总是可以转化为价值。
-
数据和基础架构存在严重的质量问题。
-
数据工作可能非常不道德。需要道德勇气。
1.人们不知道“数据科学”是做什么的。
有人认为“数据科学”全是ML,AI或自定义算法。其他人则认为它仅仅是分析而已。许多数据科学家可能将其大部分时间都花在抽取-转换-加载(ETL)上。事实是,所有这些事情都是可能的!
由于缺乏清晰性,在面试中,你可能会被问到有关这些主题的更多信息。在有关数据相关工作的50多次面试中,有人问我有关AB测试,SQL分析问题,优化SQL查询,如何用Python编写游戏,逻辑回归,梯度提升决策树,数据结构或算法编程问题!
研究各式各样的概念并且还能每个都研究地很深入是非常困难的。别灰心,由于没有需要解决的具体问题,面试可能会让你感到困惑与沮丧。你应该问招聘经理更多问题的细节,比如为什么会问这个技术点,当你知道来龙去脉后,才可以更好地应对。
在工作中碰到难题时,可能公司也没什么人可以指导你找到解决方案。由于人们不知道数据科学的作用,因此很多时候你得自己懂一些开发,软件工程,数据工程方面的知识。如果你是团队中仅有的“数据人”的话,那么建议你在上班前就建立一个外部顾问团,以便以后随时咨询。
2.非常缺乏数据科学的领导能力
大多数负责数据科学决策的高管都没有接受过实际数据科学理论和技术的教育或培训。相反,他们依靠那些可以及时启动的非数据驱动的即插即用功能。
很少有团队具有数据主管,数据科学经理或其他相关角色。作为数据科学家,你的汇报对象有可能仅仅是产品专家或工程及其他领域的专家。
这些不精通数据的高管和经理通常是做出重要产品决策的人。在科技领域,自上而下的决策仍然非常普遍。你可能因为人微言轻而无法参与决策,从而让自己的研究发挥价值。作为数据科学家,你该何去何从?
这是一个真事儿,一位研究员通过定性和定量数据花了一个多月的时间研究客户中的特定价值。她提出了一份写得很好并且有证据支持的报告。然而,几天后,产品的关键负责人却为团队规划了一个相反的发展方向。
即使你的项目已获批准,但项目的计划和执行可能还得靠你自己。领导不太可能亲自帮助你研究和规划项目。这可能是一条非常艰难的道路,尤其是对行业中资历较浅的人来说。
3.数据科学不一定总是按规范构建
你和同行可能对数据科学项目的潜力抱有期望。探索性分析和机器学习是两种常见的项目类型。
在探索性分析中,你可能需要处理这些常见的问题:有多少用户单击此按钮;点击屏幕的用户百分比是多少;按地区或帐户类型注册了多少用户?但是,能够回答这些问题所需的数据可能不存在!如果数据确实存在,则很可能是非结构化的数据,或者难以查找的数据。你可能已经花费了数小时或数天时间,最后发现你没办法给老板一个好的答案。
在机器学习中,公司可能要求你优化某个流程的用户体验,但具体优化到什么程度并没人告诉你。我是说如果这种功能真的可以被优化的话。
在一些大型互联网产品中,比如一个新闻推送的功能,这些推送的内容往往与用户没有直接的关系。但是像Facebook和Twitter类似的产品会通过优化排序方式来促使用户消费更多的与自己相关的内容,但是具体能优化到什么程度,没有人能够知道。
该团队通过一种称为uCTR(唯一点击率)的评估指标评估了推荐系统的优化。本质上,这是用户在会话中点击该帖子以对其喜欢或发表评论的可能性。
高管们期望这种用户体验将得到极大的改善。机器学习团队确实将指标提高了50%以上——但仅适用于一小群高频用户,因为这些用户提供了更多的数据。即使使用了机器学习模型,大多数用户的观看体验仍然很差!
50%似乎很重要,但也可能微不足道。相对变化很高,但绝对变化并不高。想象一下:你有10元现金,一天之内就增加了50%。你现在有15元现金。但是,从绝对规模来看,这仍然是一个很小的数目。仅仅是1顿饭钱!
由于许多ML项目可能无法满足团队的期望,因此大多数项目都没有在生产环境中使用。
4.你可能是唯一的“数据人”
企业中几乎每个团队都希望通过定量方法来了解他们的进度。所有团队,无论是销售,客户支持,工程还是市场营销,都需要指标和数据驱动的仪表板来衡量其效率和进度。
大多数拥有少于100名员工的公司很少有精通SQL,数据库,数据分析和数据可视化的员工。这些是分析数据和产生这些仪表板输出所必需的技能。
作为全职的数据科学家,你可能很容易一次被多个团队的请求淹没。准备要求这些团队限定条件并捍卫自己的要求,如果他们的需求超出了你实际优先级队列的范围,则准备好说“不”。我建议对项目使用RICE优先级排序技术。
此外,你可能会很快意识到这项工作中的许多工作都是重复的,虽然很耗时,但却“容易”。实际上,大多数分析都需要大量时间来理解数据,清洗和组织数据。你可能需要花费最少的时间来完成数据科学家认为的“有趣”部分:复杂的统计数据,机器学习和具有实际结果的实验。
5.你的影响很难衡量——数据并不总是转化为价值
我想到了两种解释本节标题的方法。
一方面,数据科学家经常扮演“支持”角色。大多数组织的大部分决定都来自于决策者过去的阅读和个人经验,而不是来自数据科学家的分析。如果你能找到其他方式采取行动的中小型组织,我会感到震惊。通常,你要在果断而不是过于谨慎方面上犯错,以便成功开展业务。(但是,这可能会适得其反。)作为组织中的数据科学家,你对企业至关重要吗?可能不会。该业务可以持续一段时间,并且在没有你的情况下仍然可以生存。仍将进行销售,仍将开发出某些功能,客户支持将处理客户的顾虑等。
当我刚开始工作时,本来我以为我会因为可以帮助证明业务决策合理性而受到重视。但是,这种情况很少发生。白宫前首席数据科学家DJ Patil曾在播客节目中说过,作为数据科学家,你应该努力寻找能够产出价值的情景!在公司内部,你可以通过为股东们的决策提供佐证材料来发挥自己的价值。
通常在公司中扮演“支持”角色的另一个挑战是量化你的影响。一项常见的数据科学任务是帮助产品经理回答有关数据中最近活动的问题。你还可以根据自己的见解发布产品推荐。所以如何衡量你的这项工作是否有影响?
很难做到。大多数人不会定量地对数据分析做出影响力评价。
通过对销售团队的分析使你避免了庞大而昂贵的新工作流程,你是否就为公司节省了1000万?或者销售团队节省了1000万?如果这1000万从未被花过,那么有人会珍视它吗?
在工作中,我建议你很好地记录你的工作,并根据诸如员工薪水,资本投资,机会成本等因素来计算分析的货币价值。这些分析也将在以后的晋升/审查工作中派上用场。
我意识到实际的分析是一项艰巨的任务,而且我只听说过一位数据科学经理与他的团队合作得很好!在如何最好地进行这些分析方面寻求他人的帮助。
6.数据和基础架构存在严重的质量问题
在数据科学书籍,在线课程,在线教程和Kaggle竞赛中,面临的问题与行业中存在的问题完全不同。
在这些在线资源中,你将拥有易于使用,文档齐全并以大纲形式组织的“干净”数据,使你可以应用数据科学技术来解决问题。
关于工作数据的质量,我经常将它与撕开的垃圾袋进行比较,将其内容物撒在地上,而你的伴侣却要求你找到一个不小心放在里面的漂亮耳环。从本质上讲,这些数据将很难找到且记录不善或根本没有记录。数据也可以非结构化格式显示,例如复杂的JSON,带有标点符号的已提交文本响应,emoji表情等。此外,看起来有用的数据也可能存在很大的风险。
就像著名的谚语“垃圾输入,垃圾输出”。如果没有高质量数据,则可能不会产生满足利益相关者期望的高质量输出。
数据清洗可能会成为你工作的大部分。2016年,流行的专注于ML的公司Crowdflower向经验丰富的数据科学家分发了一份调查报告,称“我们调查的每5名数据科学家中就有3名实际上花费最多的时间来清理和整理数据”。在许多情况下,数据科学家应称为数据管理员。
请注意,如果你将大部分时间花在数据清洗上,那么编程,学习ML和进行分析的时间就很少了。
除“脏数据”外,另一个主要挑战是在基础架构较差的情况下处理数据。想象一下,繁忙的高速公路上有很多坑洼,收费站和大的车流。你的工作是为改善这些环境而提供引导,需要提交的结果是数据分析洞察。
你可能会遇到未针对查询进行优化的数据库,或者无法通过其数据沿袭识别数据中的真相来源。你可能需要等待数天或数周才能访问数据库,或者由于基础设施不佳而陷入困境,因为人们害怕更改它,因为担心破坏一切!可能没有集中的数据存储,使用了多个仪表板工具,使查找信息变得困难,也没有用于过去的数据科学工作的存储库。
当我2012年在Target HQ工作时,员工通常会在早上7点左右提早上班,以便在很少有人这样做的时候查询数据库。他们希望他们能更快地获得数据库结果。但是,他们仍然经常需要等待几个小时才能获得结果。
甚至我在大型科技创业公司的朋友都抱怨数据基础设施和技术债存在同样的问题。一个朋友不得不在周六来上班,以便能够查询数据而没有极端的等待时间。
想象一下,想要调查数据预测,而不得不等待数小时!然后,想象一下你在SQL查询中犯了一个错误,不得不重新实现它并再次等待数小时!这实际上要等待一整天,甚至无法获取数据!
在工作中,如果你发现基础设施不佳,请尽早与经理取得联系。清楚地记录问题,并尝试合并数据工程,基础架构或开发团队来帮助解决问题!我也鼓励你学习这些技能!
7.数据工作可能极不道德。需要道德勇气
这是我最担心的问题。我已经听说过收集和分析私人用户数据(从他们的私人消息到应用程序中的每次交互)的可疑做法。作为数据科学家,你可能不会进行道德培训,也不会在产品决策中发表意见。
Uber 因其秘密的内部工具Greyball逃避执法而臭名昭著。该工具可以帮助识别各自城市中的执法人员,并向他们提供Uber的“伪造”体验,以向骑手展示,但没人会接他们。如果你是数据科学家,负责预测谁是执法人员或修改核心驾驶员路由算法以逃避这些人员,该怎么办?你会做吗?
ML模型的建议也可能是不道德的。我曾经从事一项向消费者提供机器学习预测的活动。这些预测是根据ML模型训练中的错误做法创建的,数据中几乎没有信号。后来,付费客户抱怨这些建议多么糟糕,但该公司从未公开道歉。
可能会有一段时间,一家电子商务公司要求你作为数据科学家:“如果我们想弄清楚客户是否怀孕,即使她不希望我们知道,你能做到吗?” 这些是真事!但是弄清楚这一点的伦理意义是什么?作为消费者,你是否希望你和你的家人被这样的营销困扰?如果另一半不知道自己的伴侣是否怀孕怎么办?如果他们正在考虑堕胎怎么办?在公司中,尤其是规模较小的公司,可能不会考虑这些道德问题!
结论:我们该何去何从?
我不想阻止人们申请数据科学工作。这会对公司的使命产生巨大影响。
相反,尝试在面试问题中询问这些问题,以帮助你评估下一个职位。如果你在工作中已经面临这些问题,请与你的经理或同事一起尝试并尽快解决它们,以改善你的工作经验。