谷歌“数据科学家的基本技能”。结果最多的是一长串专业术语,名为hard skills。Python、代数、统计和SQL是一些最流行的方法。后来,就出现了软技能-沟通、商业头脑、团队合作精神等。
让我们假装你是一个拥有以上所有能力的超人。你从五岁开始编写代码,你是Kaggle特级大师,你的会议论文肯定会获得最佳论文奖。你知道吗?您的项目仍然有很高的机会努力达到成熟并成为成熟的商业产品。
最近的研究估计,超过85%的数据科学项目未能达到生产。这些研究为失败提供了许多原因。我从来没有看到所谓的基本技能被作为一个潜在的原因提到过一次。
我是说以上技巧不重要吗?当然,我不是。硬技能和软技能都至关重要。关键是它们是必要的,但不是充分的。而且,它们很受欢迎,出现在每一个谷歌搜索上。因此,机会是你已经知道你是否需要提高你的数学水平或团队合作。
我想谈谈与流行的硬技能和软技能相辅相成的技能。我称它们为工程技能。它们对于与真正的客户一起构建真正的产品特别有用。遗憾的是,工程技术很少教给数据科学家。他们带着经验来的。大多数初级数据科学家缺乏这些。
工程技能与数据工程领域无关。我使用术语工程技能来区分他们与纯粹的科学或研究技能。根据剑桥词典,Engineering是指运用科学原理设计和建造机器、结构和其他项目。在本文中,工程是将科学转化为产品的使能器组件。如果没有适当的工程,模型将继续在预定义的数据集上执行。但他们永远无法接触到真正的顾客。
重要且经常被忽视的技能有:
“实体不应该不必要地乘以”--奥卡姆的威廉。“简单是终极的复杂”--莱昂纳多·达·芬奇。“一切都应该尽可能简单,而不是更简单”--阿尔伯特·爱因斯坦。“这是我的口头禅之一--专注和简单”--史蒂夫·乔布斯。
我本可以用简单的引文填满整页。研究人员、设计师、工程师、哲学家和作家称赞简单,并表示简单有其自身的价值。他们的理由变了,但结论是一样的。你达到完美不是在没有什么可添加的时候,而是在没有什么可删除的时候。
软件工程师绝对意识到简单性的价值。关于如何使软件更简单的书籍和文章数不胜数。我记得亲吻原则--保持简单,愚蠢--甚至在我的一门本科课程上教过。简单的软件维护成本更低,更容易更改,更不容易出现bug。对此有广泛的共识。
在数据科学中,情况就大不相同了。有许多文章,例如,“简单性的优点:关于算法交易中的ML模型”byKristian Bondo Hansenor“Alfredo Gemma的简单性在数据科学革命中的作用”。但它们是一个例外,而不是规则。数据科学家的主流往好里说并不关心,往坏里说更喜欢复杂的解决方案。
在继续讨论为什么数据科学家通常不关心,为什么他们应该关心,以及如何处理这些问题之前,让我们看看简单性意味着什么。根据剑桥词典,是容易理解或做的品质,是平平淡淡的品质,没有不必要的或额外的东西或装饰。
我发现定义简单性的最直观的方法是通过negativa,作为复杂性的对立面。根据同一词典,复杂性是由许多相互联系的部分或元素组成的;复杂。虽然我们不能总是说某件事很简单,但我们通常可以说某件事很复杂。我们的目标不是复杂,也不是创造复杂的解决方案。
在数据科学中寻求简单性的原因与在所有工程学科中的原因相同。更简单的解决方案要便宜得多。现实生活中的产品不是Kaggle比赛。需求是不断修改的。当复杂的解决方案需要适应新的条件时,它很快就变成了维护的噩梦。
很容易理解为什么数据科学家,尤其是应届毕业生,更喜欢复杂的解决方案。他们刚从学院来。他们已经完成了论文,甚至可能发表了一篇论文。一份学术出版物的评判标准是准确性、数学的高雅性、新颖性和方法论,而很少是实用性和简单性。
一个把精确度提高0.5%的复杂想法对任何学生来说都是巨大的成功。同样的想法对于一个数据科学家来说是失败的。即使它的理论是合理的,它也可能隐藏潜在的假设,这些假设将被证明是错误的。在任何情况下,增量改进都不值得复杂性的代价。
那么,如果你、你的老板、你的同事或你的下属喜欢复杂的“最佳”解决方案,该怎么办?如果是你的老板,你很可能注定要失败,你最好开始找一份新工作。在其他情况下,保持简单,愚蠢。
俄罗斯文化有一个“沃斯”的概念。维基百科将其描述为“盲目信任神圣的天意,指望纯粹的运气”。Avos是卡车司机决定超载的幕后黑手。它隐藏在任何非鲁棒的解决方案后面。
什么是稳健性?或者具体地说,什么是数据科学中的健壮性?与我们的讨论最相关的定义是“算法的鲁棒性是它对假设模型和现实之间的差异的敏感性”,来自Mariano Scain论文。对现实的不正确假设是数据科学家问题的主要来源。它们也是上面那位卡车司机的问题来源。
细心的读者可能会说,健壮性也是一个算法在执行过程中处理错误的能力。他们会是对的。但它与我们的讨论不太相关。它是一个具有定义良好的解决方案的技术主题。
在大数据和深度之前的世界里,建立强大系统的必要性是显而易见的。特征和算法的设计都是手工完成的。测试通常是在数百个,也许数千个例子上进行的。即使是最聪明的算法创建者也从未假设他们能想到所有可能的用例。
大数据时代是否改变了健壮性的本质?我们为什么要关心我们是否可以使用代表所有可以想象的场景的数百万数据样本来设计、训练和测试我们的模型呢?
它发现鲁棒性仍然是一个重要的尚未解决的问题。每年顶级期刊都会发表关于算法鲁棒性的论文来证明这一点,例如“提高深度神经网络的鲁棒性”和“基于模型的鲁棒深度学习”。数据的数量没有转化为质量。用于培训的信息量并不意味着我们可以覆盖所有的用例。
而如果牵涉到人,现实总会出乎意料,难以想象。我们大多数人都很难说出午饭吃什么,更不用说明天了。数据很难帮助预测人类的行为。
那么,怎样做才能使您的模型更加健壮呢?第一个选择是阅读适当的论文并实施他们的想法。这样很好。但这些论文并不总是可以概括的。通常,你不能把一个想法从一个领域复制到另一个领域。
我想提出三个一般做法。遵循这些实践并不能保证健壮的模型,但它大大降低了脆弱解决方案的机会。
性能安全裕度。安全裕度是任何工程的基础。通常的做法是为了安全起见,采取需求并添加20-30%。一部能装1000kg的电梯,轻松就能装1300kg。而且,它被测试为容纳1300kg而不是1000kg。工程师为意外情况做准备。
在数据科学中,安全边际的等价物是什么?我认为这是KPI或成功标准。即使发生了意想不到的事情,你仍然会在门槛之上。
这种做法的重要后果是,您将停止追逐增量改进。如果您的模型将KPI增加1%,您就不可能健壮。在所有的统计显著性测试中,环境中的任何微小变化都将扼杀您的努力。
过度测试。忘记单一的测试/训练/验证部门。您必须在所有可能的组合上交叉验证您的模型。你有不同的用户吗?按照用户ID划分,做几十次。你的数据随时间变化吗?根据时间戳进行划分,并确保每天在验证组中出现一次。用随机值“垃圾邮件”您的数据,或者在您的数据点之间交换某些特性的值。然后在脏数据上测试。
我发现假设我的模型有错误非常有用,直到证明不是这样。
关于数据科学和ML测试的两个有趣的来源--亚历克斯·古德的博客“用Python进行机器学习,一种测试驱动的方法”。
不要在沙子上建造城堡。减少对其他未测试组件的依赖。不要在另一个高风险且未经验证的组件上构建模型。即使该组件的开发人员发誓不会发生任何事情。
模块化设计是所有现代科学的基本原则。它是分析方法的直接结果。分析方法是一个将大问题分解成小块的过程。分析方法是科学革命的基石。
你的问题越小越好。这里的“更好”不太好。这是必须的。它将节省大量的时间、精力和金钱。当一个问题很小,定义明确,并且不附带大量假设时,解决方案是准确的,易于测试。
大多数数据科学家都熟悉软件设计中的模块化。但是即使是最优秀的程序员,他们的python代码非常清晰,也经常不能将模块化应用到数据科学本身。
失败很容易证明。模块化设计需要一种方法将几个较小的模型组合成一个大模型。目前还没有这样的机器学习方法。
但我发现有一些实用的指导方针是有用的:
CheckCompositional Deep learning,了解关于深度学习构建块的更多细节。为了科学证明,readPruned神经网络是惊人的模块化。
产品经理和数据科学家之间一直存在着紧张关系。产品经理希望数据科学家专注于低垂的果实。他们的逻辑很清楚。他们说,企业只关心水果的数量和它们生长的地方。水果越多,我们做得越好。他们抛出了各种各样的流行语--帕累托、MVP、最好的是好的敌人等等。
另一方面,数据科学家指出,低挂的水果腐败快,味道不好。换句话说,解决简单的问题影响有限,治标不治本。通常,这是学习新技术的借口,但通常它们是对的。
就我个人而言,我在两种观点之间移动。读过p之后。泰尔的零对一确信低垂的果实是浪费时间。在初创企业呆了将近七年后,我确信创造一个低级的MVP是正确的第一步。
最近,我开发了自己的方法,将这两个极端统一起来。一个数据科学家的典型环境是一个动态的、怪异的世界,树在四面八方生长。树木一直在切换方向。它们可以倒着生长,也可以侧着生长。
最好的水果确实在顶端。但是如果我们花太多时间建造梯子,树就会移动。因此,最好的是瞄准顶部,但要不断监测顶部在哪里。
从隐喻到实践,在漫长的发展过程中,事情总是有可能发生变化。原来的问题会变得无关紧要,新的数据源会出现,原来的假设会被证明是错误的,KPI会被替换等等。
目标是最好的,但记住在每隔几个月推出一个工作产品的同时也要做到这一点。产品可能不会带来最好的水果,但你会更好地感受到水果是如何生长的。
数据分析咨询请扫描二维码
在准备数据分析师面试时,掌握高频考题及其解答是应对面试的关键。为了帮助大家轻松上岸,以下是10个高频考题及其详细解析,外加 ...
2024-12-20互联网数据分析师是一个热门且综合性的职业,他们通过数据挖掘和分析,为企业的业务决策和运营优化提供强有力的支持。尤其在如今 ...
2024-12-20在现代商业环境中,数据分析师是不可或缺的角色。他们的工作不仅仅是对数据进行深入分析,更是协助企业从复杂的数据信息中提炼出 ...
2024-12-20随着大数据时代的到来,数据驱动的决策方式开始受到越来越多企业的青睐。近年来,数据分析在人力资源管理中正在扮演着至关重要的 ...
2024-12-20在数据分析的世界里,表面上的技术操作只是“入门票”,而真正的高手则需要打破一些“看不见的墙”。这些“隐形天花板”限制了数 ...
2024-12-19在数据分析领域,尽管行业前景广阔、岗位需求旺盛,但实际的工作难度却远超很多人的想象。很多新手初入数据分析岗位时,常常被各 ...
2024-12-19入门数据分析,许多人都会感到“难”,但这“难”究竟难在哪儿?对于新手而言,往往不是技术不行,而是思维方式、业务理解和实践 ...
2024-12-19在如今的行业动荡背景下,数据分析师的职业前景虽然面临一些挑战,但也充满了许多新的机会。随着技术的不断发展和多领域需求的提 ...
2024-12-19在信息爆炸的时代,数据分析师如同探险家,在浩瀚的数据海洋中寻觅有价值的宝藏。这不仅需要技术上的过硬实力,还需要一种艺术家 ...
2024-12-19在当今信息化社会,大数据已成为各行各业不可或缺的宝贵资源。大数据专业应运而生,旨在培养具备扎实理论基础和实践能力,能够应 ...
2024-12-19阿里P8、P9失业都找不到工作?是我们孤陋寡闻还是世界真的已经“癫”成这样了? 案例一:本硕都是 985,所学的专业也是当红专业 ...
2024-12-19CDA持证人Louis CDA持证人基本情况 我大学是在一个二线城市的一所普通二本院校读的,专业是旅游管理,非计算机非统计学。毕业之 ...
2024-12-18最近,知乎上有个很火的话题:“一个人为何会陷入社会底层”? 有人说,这个世界上只有一个分水岭,就是“羊水”;还有人说,一 ...
2024-12-18在这个数据驱动的时代,数据分析师的技能需求快速增长。掌握适当的编程语言不仅能增强分析能力,还能帮助分析师从海量数据中提取 ...
2024-12-17在当今信息爆炸的时代,数据分析已经成为许多行业中不可或缺的一部分。想要在这个领域脱颖而出,除了热情和毅力外,你还需要掌握 ...
2024-12-17数据分析,是一项通过科学方法处理数据以获取洞察并支持决策的艺术。无论是在商业环境中提升业绩,还是在科研领域推动创新,数据 ...
2024-12-17在数据分析领域,图表是我们表达数据故事的重要工具。它们不仅让数据变得更加直观,也帮助我们更好地理解数据中的趋势和模式。相 ...
2024-12-16在当今社会,我们身处着一个飞速发展、变化迅猛的时代。不同行业在科技进步、市场需求和政策支持的推动下蓬勃发展,呈现出令人瞩 ...
2024-12-16在现代商业世界中,数据分析师扮演着至关重要的角色。他们通过解析海量数据,为企业战略决策提供有力支持。要有效完成这项任务, ...
2024-12-16在当今数据爆炸的时代,数据分析师是组织中不可或缺的导航者。他们通过从大量数据中提取可操作的洞察力,帮助企业在竞争激烈的市 ...
2024-12-16