几个月就能化身为数据科学家?不存在的

成为一名数据科学家,Course 或 MOOC 上的广告说几个月就行。然而本文作者说,这是不存在。以下是作者根据自身经历写的经验(鸡汤)贴,内容详实丰富 ↓↓

关于做一名数据科学家,我有一些想法。成为一名数据科学家并不容易,需要付出很多努力,但如果你对数据科学充满兴趣,那一切都是值得的。

时常有人问我:如何成为一名数据科学家?必修的课程是什么?需要多长时间?你是怎么成为数据科学家的?我已多次回答过这些问题。所以在我看来,写一篇汇总的文章也许能帮助那些想要成为数据科学家的人。

关于我自己

我(俄罗斯,莫斯科)在密歇根州立大学经济学院获得硕士学位,并在 ERP 系统规划领域做了 4 年的分析师和顾问。我的工作涉及与客户交谈,讨论他们的需求并将其落地,编写文档,向程序员说明任务,测试结果,组织项目和许多其它事情。

这是一项压力很大的工作,需要处理很多问题。更重要的是,我并不喜欢它。尽管我喜欢处理数据,但我做的大多数事情还是令人索然无味。所以,在 2016 年的春夏之交,我开始另谋出路。我通过了精益六西格玛(Lean Six Sigma)的绿带测试,但还未找到新的就业机会。有一天我发现了大数据(BigData)。在 google 上搜索和阅读了许多文章后,我意识到这可能是我的梦想职业。

我辞去工作,并在八个月后在一家银行找到了第一份数据科学家的工作。从那之后,我先后就职了几家公司,但我对数据科学的热情日益增加。我完成了一些关于机器学习深度学习的课程,实践了一些项目(如聊天机器人或数字识别 APP),先后参加了许多机器学习的比赛和活动,在 Kaggle 上获得了三枚银牌。总之,我有一些学习数据科学和作为数据科学家工作的经验。当然,我还有很多技能需要学习。

免责声明

本文所述仅为我自己的观点。可能有些人会对其中的内容持反对态度,但我无意冒犯任何人。我认为想成为一名数据科学家必须投入大量的时间和精力,否则将一事无成。Course 或 MOOC 声称可以让你在几周或几个月内成为机器学习/深度学习/数据科学专家的广告语并不是真的。你可以在数周/数月内获得一些知识和技能。但如果没有广泛的实践(大多数课程内不包含这一部分),你无法真正掌握它。

你确实需要内在的动力,但更重要的是,你需要严格地规范自己,这样你可以在动力消失后继续努力。

再说一遍——你需要自己动手动脑。如果你在提出最基础的问题之前没有用 Google/ StackOverflow 或思考几分钟,那你将永远无法赶上专业人士。

在我参加的大多数课程中,只有大约 10-20%的人完成了这些课程。半途而废的人基本都缺乏耐心和决心。

什么样的人能成为数据科学家?

上图显示了数据科学家所需的一些核心技能,比如:数学和统计学,编程和开发,领域相关知识和软技能。

这么多技能!怎么可能完全掌握呢?嗯,需要花费很多时间。但告诉你一个好消息:没必要掌握全部。

2018 年 10 月 21 日,Yandex 上有一个有趣的演讲,其中提到数据科学专家类型有很多,他们只是拥有上述技能中的某几种而已。

数据科学家应该处于图片中间的位置,但实际上他们可以处于三角形的任何位置,不同位置对应了不同的专家能力。

在本文中,我将讨论的一类数据科学家是那些可以与客户交谈,进行分析,构建模型并实施项目的人。

转行?这意味着你已有所了解!

有人说转行相当困难。虽然这是事实,但转行也通常意味着你对现在工作已经有所了解。也许你有编程和开发经验,也许你在数学/统计学领域工作过,或者你每天锻炼你的软技能。至少你拥有一些自己领域的专业知识。你可以扬长避短。

来自 Reddit 的数据科学路线图

实际上这里有两个路线图:)

第一个来自 Reddit:

首先,阅读 Hastie、Tibshirani 和 Jerome Friedman 所著的《The Elements of Statistical Learning》第 1-4 章和 7-8 章。就算暂时不理解,也要坚持阅读。

如果需要,你可以阅读该书的其它部分。假设你对全书都已有所了解。

观看 Andrew Ng 的 Coursera 课程。用 python 和 R 语言完成所有练习。确保你能写出正确答案。

然后阅读一本深度学习书。在 Linux 系统中运行 tensorflow 和 pytorch 框架并实践示例项目,直到完成。尝试使用卷积神经网络、循环神经网络和前馈神经网络

完成所有这些后,继续在 arXiv 上阅读最新的有用论文。文献不断在更新,所以要跟上大部队。

完成这些的你现在会被大多数公司录取。如果你需要完善简历,可以参加一些 Kaggle 比赛。如果你有调试问题,请使用 StackOverflow。如果在数学方面有问题,请多读文献。如果生活上问题,自己看着办吧。(以上引用)

《The Elements of Statistical Learning》地址:https://web.stanford.edu/~hastie/ElemStatLearn//printings/ESLII_print10.pdf

其中一条评论:

这些还不够。还有一个新问题:没有训练数据,想想怎么收集。学会写 scraper,然后做一些标注和特征提取。在 EC2 上完成所有安装并实现自动化。尝试编写代码,以便有新数据时,在生产中不断重新训练和部署模型。

虽然这些听起来很简短,但很严苛且非常困难,如果做到了,它可以让你有个饭碗。

当然,还有许多其它的数据科学方法,我提供的只是我自己的方法。它并不完美,但却是基于我的个人经验。

我的路线图:

有一项技能可以让你走得很远。如果你还没拥有这项技能,希望你尽快掌握。这项技能是——独立构思,检索信息,发现信息,理解信息。有些人无法独立构思,有些人无法找到最基本问题的解决方案,有些人甚至不知道如何正确使用谷歌搜索。这是一项必备的基础技能,你必须掌握它!

  1. 选择一门编程语言进行学习。Python 或 R 语言就不错。我强烈建议选择 Python。理由我就不多说了,关于 R / Python 的争论已经多得数不胜数,不过我个人认为 Python 更通用,更实用。花上 2-4 周学习语言,这样你就能做基本的事情了。大致了解要使用的库,例如 pandas / matplotlib 或 tydiverse / ggplot2。

  2. 过一遍 Andrew NG 的 ML 课程。这门课比较老,但它可以帮你夯实基础。用 Python/R 完成其中的任务可能很有用,但没有必要。

  3. 再选择一门(或几门)进阶的 ML 课程进行学习。对于 R 用户,我推荐 Analytics Edge,对于 Python 用户,我推荐 mlcourse.ai。如果你懂俄语,那么 Coursera 上的这门课(https://www.coursera.org/specializations/machine-learning-data-analysis)也很棒。在我看来,mlcourse.ai 是三者中最好的。为什么?它提供了良好的理论和一些有挑战的任务,这已经足够了。同时它还教人们参加 Kaggle 比赛并制作独立项目。这对实践很有帮助。

  4. 学习 SQL。大多数公司的数据都保存在关系数据库中,因此你要能够获取它。可以使用 select 语句、group by 语句、join 语句、CTE 表达式等。

  5. 尝试使用原始数据,获得处理杂乱数据集的经验。

  6. 上一条是选做,但这一条是必须完成的:完成至少 1 或 2 个完整项目。例如,对某些数据集进行详细的分析和建模,或创建一个应用程序。最重要的是学习如何构思一个想法、规划实施、获取数据、实施并完成项目。

  7. 参加 Kaggle 比赛。

  8. 加入一个好的社区。我加入了 ods.ai——由一万五以上活跃的俄罗斯数据科学家组成的社区(不过这个社区对任何国家的数据科学家都开放),这对我帮助很大。

学习深度学习是另一个全新的话题。

这仅仅是个开始。遵循这个路线图(或做相似的事)将帮助你开启数据科学家之路。剩下的路要靠你自己走! 


原文链接:https://towardsdatascience.com/a-long-term-data-science-roadmap-which-wont-help-you-become-an-expert-in-only-several-months-4436733e63ff

产业观点数据科学家数据科学
2
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

大数据技术技术

大数据,又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语。

关系数据库技术

关系数据库,是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型是由埃德加·科德于1970年首先提出的,并配合“科德十二定律”。现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。

聊天机器人技术

聊天机器人是经由对话或文字进行交谈的计算机程序。能够模拟人类对话,通过图灵测试。 聊天机器人可用于实用的目的,如客户服务或资讯获取。有些聊天机器人会搭载自然语言处理系统,但大多简单的系统只会撷取输入的关键字,再从数据库中找寻最合适的应答句。

前馈神经网络技术

前馈神经网络(FNN)是人工智能领域中最早发明的简单人工神经网络类型。在它内部,参数从输入层经过隐含层向输出层单向传播。与递归神经网络不同,在它内部不会构成有向环。FNN由一个输入层、一个(浅层网络)或多个(深层网络,因此叫作深度学习)隐藏层,和一个输出层构成。每个层(除输出层以外)与下一层连接。这种连接是 FNN 架构的关键,具有两个主要特征:加权平均值和激活函数。

推荐文章
暂无评论
暂无评论~