这是关于从事数据科学工作系列帖子中的第二篇。(第一篇请点击这里)
误区1:当你变得更有经验时,你可以担任数据分析师的工作,并能够将其发展为数据科学。
数据分析师不是数据科学家的初级阶段,他们是完全不同的两个东西。
数据分析师 |
数据科学家 |
与业务员同坐 |
与工程师同坐(但也谈及业务) |
产生报告、简报 |
产生软件 |
隔行如隔山,数据分析师想进入数据科学会存在很大的障碍。因为他们没有必备的工具,所以不管他们是否拥有正确的技能,都不能立即开始做数据科学。所谓的必备工具是指:
1.获得完整的生产数据。
2.访问数据工具去做某事(hadop,spark,compute
instances)。
3.访问代码库(code repositories)。
虽然这些东西可以在快速学习获得,但还有其他的东西难以获得:
1.不熟悉公司的技术堆栈(stack)
2.没有对堆栈(stack)/执行功能进行必要更改的任务等。
任何曾经在大公司工作的人都应该明白这一点:你不只是走进一个软件团队。有时需要几个月的培训才能为团队中的新开发人员做出第一个真正的贡献。对于来自不同业务部门的外部人员来说,要做到这一点是闻所未闻的。
误解2:数据分析是数据科学的良好训练
作为数据分析师:
l 你将不会学习机器学习/统计技术,因为它们的准确性和效率都得到了优化,而不是解释能力(这是分析人员所关心的)
另一方面你将会做:
l 探索性数据分析。
l Excel,SQL,也许是一些一次性的R(one-off
R)和Python脚本
我认为数据科学家和分析师有可能使用一些相同的工具,但是他们对于这些工具的用途具有很大的不同。而数据分析师所作的小小技术工作实际上对他们的数据科学教育造成了更多的伤害。
数据分析师的代码 |
数据科学家的代码 |
人工操作序列的脚本,点击GUIs等 |
完全自动化的管道 |
只有你能看到的代码 |
代码将被他人使用和维护 |
一次性的脚本 |
代码是一个存在的应用程序或预定的管道 |
代码调整直到它能够一次性运行成功 |
代码优化性能、可维护性和可重用性 |
从数据分析师的角度来看,以某种方式做事可能是有意义的,但数据科学的需求是不同的。当前分析师投入到数据科学项目中并开始应用他们多年来发展的模式来看,结果并不乐观。
亲身体验
我曾经加入了一个由分析师和数据科学家领导的项目:我们正在建立一个管道的原型,让客户端的数据上进行一些的机器学习,并显示出漂亮的图表。我加入时面对的第一个问题是:你如何从客户端里获取数据?。过程是:
1.在瑞典发送电子邮件X,查询他在客户端的数据库上运行。X下载一个csv的结果,并把它放在一个FTP服务器上。
2.从FTP下载csv到你的笔记本电脑。
3.将其上传到我们拥有Python的服务器。
4.在服务器上运行一个Python脚本来清理数据(脚本在Y的主目录中)。
5.在笔记本电脑上下载结果。
6.通过GUI将结果上传到我们的数据库。
8.下载结果。
9.上传到我们开发的MySQL数据上。
10.运行另一个SQL(Y在她的笔记本电脑上有脚本)。
12.在R服务器上做实际的分析。
要想在新的数据上再次运行流水线需要几周的时间(而当时要求的在几秒内),因为他们使用的技术迫使他们只使用1%的可用数据,这个工作流程使任何事情都无法完成。
最重要的是,管道中的每一个脚本都非常变态和脆弱-这就是为什么:面对任务时,分析师将开始编写代码。如果它一开始不起作用,他们会加入并调整它,指导它。一旦产生结果(通常是一个csv文件),他们就进入下一步。没有努力确保可再生性,可重用性,可维护性,可扩展性。以这种方式制作的脚本是充满了硬编码(hard-coded)的数据库口令,魔术常量(Magic constant)和未经测试的关于输入数据的假设,一直通向本地目录。它类似于名叫Jenga Tower的游戏,你看着它们表面平静,但是你知道,如果你触摸它,它会崩溃。
如果只是我的同事完全不懂的编码技术,他们将会雇佣一名工程师来完成编码工作,而他们自己也会专注于准备说明书。这种安排也许不是很理想,但我保证结果会好很多。这就是为什么我认为数据分析师的经验不仅是无用的,而且对数据科学也是有害的。
最终,尽管错误不在于分析师,而在于管理(management)和任务的不匹配。也是时候让管理人员知道:
1. 数据科学是软件工程。
2. 软件工程很难。
3. 软件工程界已经开发了一些工具并试着减少它的难度。
4. 你需要一个软件专家来使用这些工具。
5. 在SAS中编写脚本不会使其成为软件专业人员。
结束语
如果你是一名分析师,想要转行到数据科学,我建议你忘记你所学的关于编码的一切,重新开始学习。
如果你是一名研究生,认为数据分析师是为了作为数据科学的培训而存在的,我强烈建议你找一个初级软件开发者的工作。如果你幸运的话,你可能会做一些机器学习,然后进入全面的数据科学。但即使不是这样,几乎所有你在入门级工程学习中学到的东西都会使你成为一名更好的数据科学家。
文章原标题《What They Don’t Tell You About Data Science
2:Data Analyst Roles Are Poison》
作者:Nadbor Drozd
译者:虎说八道。
文章为简译,更为详细的内容,请查看原文