日期科学家指出:从哪里开始,需要什么?



TL; DR是有关数据科学以及如何进入和发展该行业的问题/答案的帖子。在本文中,我将分析基本原理和常见问题解答,并准备回答您的特定问题-在评论中(或以个人形式)写一些内容,我将在几天内尝试回答所有问题。
随着“撒旦教徒的日期”注释周期的到来,有关如何开始和在何处挖掘的问题出现了许多消息和评论,今天,我们将分析出版物发行后出现的基本技能和问题。



这里提到的所有内容均不要求任何最终真理,而是作者的主观意见。我们将介绍在此过程中最重要的主要事情。



为什么需要这个



为了使目标更好地实现,使其至少看起来有些具体-您想成为Facebook / Apple / Amazon / Netflix / Google的DS或研究科学家-直接了解职位的要求,语言和必要技能。招聘流程是什么?您在这个角色中如何度过典型的一天?在那里工作的人的平均身材是什么样的?



通常情况是,一个人并不真正了解自己到底想要什么,并且不清楚如何为这个模糊的图像做准备-因此,至少要对您到底想要什么做一个粗略的计划是值得的。

缩小当前的目标视图
即使游戏过程中发生变化,并且在游戏中更改计划通常是正常的,但您还是应该在目标面前集中精力,定期进行评估和重新思考。



是否仍然相关



等到你成长为一个职位。



想象一下,在您需要获得博士学位之前,您需要在该行业工作2-3年,并且通常在修道院打坐时会被剪掉-数据科学是否会遇到曾经与经济学家和律师一样的情况?一切都会在您想做的领域发生变化而无法识别的事情。



每个人现在都有很大的机会赶到那里吗,当有很多人试图进入该行业时,我们会看到一幅图画-刚开始时职位很少。



选择一条路径时可能值得考虑当前的趋势,不仅是劳动力市场的当前状态,而且还包括您对它的变化方式和位置的想法。



例如,作者并不打算去撒旦教徒约会,但是在博士期间,他看到了一些辅助项目,这些项目在技能方面引起了DS的强烈共鸣,并且从研究生院毕业后自然就搬到了星期三,看到了一个好的位置。



如果在演出的过程中发现有必要去别的地方-因为现在有动作,所有最有趣的动作都在发生,那么,我们自然就会去那里。



技能分解



这些是有条件的技能类别,我认为这是DS中全面有效工作的关键。另外,我将重点介绍英语-学习您在CS中所做的任何事情。接下来将是关键类别。



编程/脚本



您绝对应该熟悉哪些语言?蟒蛇? Java的? Shell脚本? ? SQL? C ++?



您究竟需要做些什么,以及为什么要进行编程-在这里,职位范围有很大不同。



例如,我经常不得不实现复杂的逻辑,查询,模型,分析并通常开发解释型系统,但是除了最通用,最合理的代码之外,几乎没有对代码速度的要求。



因此,我的技能与那些编写Tensorflow库并正在考虑优化代码以有效利用l1缓存等的人完全不同,因此请查看您真正需要什么并评估正确的学习途径。



例如,对于python,人们已经在制作语言学习地图



当然,对于您的需求,已经有了经验丰富的建议,并且有很好的消息来源-您需要确定一个列表并开始进行工作。



了解业务流程



没有它,无处不在:您需要了解在此过程中为什么需要您,您在做什么以及为什么。通常,这可以为您节省大量时间,最大化您的利益,而不会浪费时间和废话的资源。



我通常会问以下问题:



  • 我在公司里到底在做什么?
  • 做什么的?
  • 谁将使用它,如何使用?
  • 我有什么选择?
  • 参数的限制是什么?


这里,有关参数的更多信息:如果您知道可以牺牲一些东西,通常可以极大地改变工作场景:例如,可解释性,反之亦然,百分之二的人不会在这里起作用,我们有一个非常快速的解决方案,客户需要它,因为他支付管道在AWS上运行的时间。



数学



在这里,您可以思考,并且您自己可以理解所有内容-在没有基本数学知识的情况下,您只不过是带有手榴弹的小猴子(宽恕随机森林)-因此您至少需要了解基本知识。如果我要列出最少的清单,那么它将包括:



  • 线性代数-大量资源易于Google搜索,寻找最适合您的资源;
  • 数学分析-(至少在前两个学期中);
  • 概率理论在机器学习中无处不在。
  • 组合学-它实际上是对定理的补充;
  • 图论-至少BASIC;
  • 算法-至少前两个学期的学习量(请参阅科曼的建议);
  • Matlogic-至少基本。


实用的数据分析和可视化



最重要的事情之一是,不要害怕弄脏数据,并对数据集,项目进行全面分析,并快速显示数据。



像其他所有数据转换一样,探索性的数据分析应该变得自然而然,并且能够从unix tuzles抛出简单的管道(请参阅先前的文章)或编写易于理解的便携式计算机。



我将分别提到可视化:一次查看比听到一百次更好。



向经理显示图形比一组数字更容易和易于理解,因此matplotlib,seaborn和ggplot2是您的朋友。



软技能



与他人交流您的想法以及结果和关注点等同样重要-确保您能够从技术和业务角度明确陈述任务。



您可以向同事,经理,老板,客户以及所有需要发生的事情,需要处理的数据以及获得的结果的所有人进行解释。



没有您,您的图表和文档应该可读。也就是说,您无需去了解那里写的内容。



您可以进行清晰的演示,以传达信息和/或记录您的项目/工作。



您可以以理性而毫无感情的方式表达自己的立场,说“是/否”,或者对“决定”表示质疑/支持。



训练



您可以在许多不同的地方学习所有这些内容。我会给您一个简短的列表-我已经尝试了所有方法,并且说实话,每个项目都有其优点和缺点。尝试确定最适合您的方法,但我强烈建议您尝试几种选择,不要挂在一个上。



  • 在线课程:Coursera,udacity,Edx等;
  • 新学校:在线和离线-SkillFactory,SHAD,MADE;
  • 古典学校:大学硕士课程和进修课程;
  • 项目-您只需选择您感兴趣的任务,然后将它们上传到github即可进行剪切;
  • 实习-很难提出建议,您必须寻找可用的东西并找到合适的选择。


有必要吗?



最后,也许我会补充我尝试遵循的三个个人原则。



  • 应该很有趣;
  • 带来内在的愉悦(至少不造成痛苦);
  • « ».


为什么是他们呢?很难想象您每天都会做某事,并且您会不喜欢它或不感兴趣。想象一下,您是一名医生,讨厌与人交流-当然,这可以以某种方式起作用,但是对于想要问您一些问题的患者流量,您将一直感到不舒服。从长远来看,这是行不通的。



为什么我还要特别提及内在的愉悦感?在我看来,这对于进一步发展以及从原则上来说是学习过程所必需的。当我设法完成一些复杂的功能并建立模型或计算重要参数时,我真的很喜欢它。当我的代码在美学上令人愉悦并且编写得很好时,我感到很高兴。因此,学习新事物很有趣,不需要直接的任何动机。



“做自己的”是您想要做到的那种感觉。我有一个小故事。从小就喜欢摇滚音乐(和金属-SALMON!),还有多少人想学习演奏,仅此而已。事实证明,我没有听力,也没有声音-根本没有打扰我(我必须说,这并不会打扰很多表演者在舞台上),而且作为一个小学生,我有一把吉他……而且很明显,我真的不喜欢坐几个小时并播放。事情一直很艰难,在我看来一直都在散发出某种垃圾-我一点也没有得到任何乐趣,只能感到糟糕,愚蠢和完全无能为力。我从字面上强迫自己坐在棍子下坐下来上课,总的来说这不在马的草料中。



同时,我可以冷静地坐几个小时来开发某种玩具,借助脚本在闪光灯(或其他东西)上制作动画,并且我非常有动力去完成游戏中的元素或处理运动机制和/或连接第三方库,插件和其他所有内容。



在某个时候,我意识到弹吉他不是我的,实际上,我喜欢听而不是弹吉他。当我编写游戏和代码(当时听各种金属)时,我的眼睛着火了,那是我当时喜欢的,我应该一直这样做。



你还有问题吗?



当然,我们无法讨论所有主题和问题,因此请以个人名义写您的评论-我总是很高兴提出问题。










All Articles