这篇文章对应之前发表过的一篇关于如何成长为一名具备其他技能的高级数据科学家的文章。希望通过高级数据科学家在业务经理和技术数据科学家之间搭起一座沟通的桥梁,以保证随着新技术的不断发展,技术与业务之间的沟通顺畅。
如图,IT知识和商业知识有着知识鸿沟
随着科学技术的不断发展,数据科学家们也在不断的成长,在他们成长过程中他们需要更多的关注设计决策和与管理层的沟通。于是,有经验的数据科学家可以帮助年轻的数据科学家,可以利用自己的经验帮助决定最合适的设计决策,能够更好地为自己和公司带来好处。而作为数据科学家在成长的过程中,需要掌握以下4个技能。
1.能够简化复杂的东西
数据科学家倾向于使用每个问题和每个解决方案中所知的每种技术和算法。反过来,这又会造成难以维护的复杂系统。数据科学确实需要复杂和抽象的建模以及大量复杂的技术(从Hadoop到Tensorflow)。由于这个领域周围的复杂性,这使得开发系统和算法也很复杂。但是,像大多数其他涉及工程设计的领域,综合考虑,减少其自身的复杂性往往效果更好。
埃尔温·薛定谔(ErwinSchrÖdinger)和阿尔伯特·爱因斯坦(Albert Einstein)可以帮助我们理解数学和物理学领域的复杂性。
工程师的角色是简化任务。如果你 曾经建造或看过Rube Goldberg机器,你 将会理解什么是过度设计一项简单任务。制造更简单的系统意味着系统将随着时间的推移变得更容易维护,并为未来的数据科学家提供需要添加和移除模块的空间。
简单的算法和系统也允许更容易的加法和减法。因此,随着技术的变化和更新需要或模块需要被取出。一个可怜的未来的数据科学家不会用你的代码来玩Jenga游戏(原因之一就是怕技术债务)。
2.指导如何在没有主键的情况下将数据网格化
厉害的数据专家应该提供的重要价值之一是将可能不具有主要或明显联系的数据集捆绑在一起。如果数据科学家有能力在这些数据中查找统计模式,那么他将有能力帮助决策者做出明智的选择。但是,这种能力是非常难得的。
与数据打过交道的人知道它们并不总是很好地集成在一个数据库中。财务数据通常与IT服务管理数据分开,外部数据源可能不具有相同的聚合级别。而有时候数据所存在的价值需要与其他部门和系统的数据一起才能显现,因此这成为了一个难题。
数据网格划分需要以相同的粒度级别构建块,可以用图中很多小拼图拼成了大拼图来对比想象。
例如,如果你提供医疗索赔,信用卡和社区犯罪率,并想弄清楚这些社会经济因素如何影响病人?一些数据集可能按人员级别,而另一些数据集可能在街道或城市级别,没有明确的方法来连接数据集。进行的最好的方式是什么?这成为一个必须记录和考虑的设计问题。
每种情况都有所不同,因为有多种方式来进行数据网格划分,这可能是基于地区、特点、消费习惯等。在这里经验就显得十分重要了,因为他们已经尝试了数百种不起作用的方法,一位经验丰富的数据科学家会拥有判断如何加入数据的直觉。
3.有选择优先项目的能力
作为一名数据科学家,你 必须知道如何解释可能不会实现的项目的投资回报率。这是关于能够拥有—清楚地说明价值以及优先考虑长期目标与短期目标的沟通能力。团队中总是有很多的项目和项目要求,使他们应接不暇。有经验的团队需要有成员带头帮助他们的经理人,去决定哪些项目是值得的。
在这种情况下,需要一个决策矩阵来帮助简化流程。
项目的经典决策矩阵之一是一个2*2的矩阵,即重要性和紧迫性。这个矩阵可以在大多数商业课程中找到,它非常简单。这就是为什么它是伟大的!
如果一切都是优先事项,那么什么都不是
许多其他公司都有这个问题,这就需要数据科学团队中经验丰富的成员清楚地说明现在应该完成哪些项目的原因。
4.能够开发健全的和最优的系统
制定在受控环境下运行的算法或模型是一回事。把一个强大的模型整合到一个现场处理大量数据的系统中是另外一回事。根据公司的不同,有时数据科学家只需要开发算法本身,然后开发人员或机器学习工程师将负责投入生产。
但是,对于小型公司或团队可能会让数据科学小组将代码投入生产。这意味着该算法需要能够以合理的速度管理数据流量。因此,良好的系统设计和优化是必要的。
数据科学是一个复杂的领域,需要了解数据,统计数据,编程和主题。为了发展,数据科学家需要能够将这些复杂的东西简化并提炼成算法。他们需要能够更多地关注设计决策。这有助于最大限度地发挥他们的知识和经验。
本文由北邮@爱可可-爱生活 老师推荐,阿里云云栖社区组织翻译。
文章原标题《4 Must Have Skills Every Data Scientist Should Learn》
作者:SeattleDataGuy
译者:乌拉乌拉,审校:。
文章为简译,更为详细的内容,请查看原文文章