学习数据科学的7个步骤
1.熟悉基础的数据科学术语
在你开始学习之前,第一步是什么,肯定是理解什么是数据科学!
让我们花点时间回答这个问题,看一下数据科学中的不同角色,并熟悉这个领域的常用术语。
首先最重要的是要知道你将要做的是什么,那么我们首先回答这个问题 - 为什么你想从事数据科学工作?是因为你喜欢编程,数学,统计和他们提供工作的机会吗?或者是你正在顺应潮流,因为'数据科学'和'机器学习'是目前有关未来的发展潮流?
1.1什么是数据科学?
目前每天生成的数据量呈指数级增长!在过去十年中,数据的来源以及收集和存储数据的能力已经取得了很大的进步。公司正在使用各种工具和技术来挖掘数据中的模式并收集有用的信息。简而言之,这就是数据科学的全部意义所在。
“数据确实为我们所做的一切提供了支持。” - LinkedIn首席执行官Jeff Weiner
简单的说,数据科学涉及使用各种技术来理解数据并构建预测模型以做出业务决策。数据科学的一些流行应用包括欺诈检测,体育分析,航空公司航线规划等。
因此,如果数据科学是关于从数据中获取洞察力和发现信息的模式,那么数据科学家和统计学家之间有什么区别?这是一个非常好的问题!让我们来看看他们之间有什么区别。
1.2数据科学家与统计学家
数据科学家和统计学家都使用这些数据从中获得有用的信息。统计学家专注于识别数据中的关系,而数据科学家则致力于使用关系并建立模型来预测未来的结果。数据科学家的目标是建立一个高精度的通用模型。
统计学家经常使用R,Excel或MATLAB等工具,因为它们有许多用于数据分析的库。另一方面,数据科学家主要使用Python,Apache Spark等来探索数据和构建模型。
1.3数据科学中的通用术语
数据科学是一个复杂而广阔的领域。让我们理解它的不同的组成部分,这样就可以缩小你长期需要关注的领域。
机器学习:机器学习是利用算法(如线性回归,逻辑回归,决策树等)从数据中学习并做出明智的决策。例如,使用已经获得贷款的人的数据,并试图预测他们是否会再次贷款。
深度学习:深度学习是机器学习的一个子集,旨在模仿人类的决策能力。例如,识别给定图像中的对象,或将图像分类为猫或狗。
自然语言处理(NLP):NLP是数据科学的一个分支,负责分析,理解和从文本数据中获取信息。你在亚马逊上看到的所有评论,或者你每天浏览的所有推文,都是由NLP技术用于解析它们并理解用户的情绪。NLP是目前数据科学领域中最热门的领域之一。
计算机视觉:顾名思义,计算机视觉拥有使机器能够看到和理解周围环境的能力。有没有注意到Facebook如何自动推荐图片中的标签的?或者自动驾驶汽车如何检测道路上的物体?这些都是计算机视觉的主要例子。这是另一个将在未来几年内出现大量工作的领域。
推荐引擎: 曾经使用过Flipkart或Amazon的任何人都是推荐引擎的一部分。这部分包括了分析过去的用户行为,以提供相关的建议或推荐。“购买此产品的客户也购买了”或“根据你过去的购买情况推荐给你”都是推荐引擎在起作用。
2.开始你的数据科学之旅
所以当你决定冒险尝试成为一名数据科学家时,那么没有什么可以阻止你了。首先,恭喜你选择了业内最热门的领域!
如果你是一个没有行业经验的应届生,那么实习是在数据科学中发挥作用的最佳方式。他们为你提供了一个获得行业经验的机,同时与经验丰富的退伍军人一起工作。在这几个月里,你有很多东西需要学习,并且这将影响你的职业生涯。
在接下来的几节中,我们将介绍第一次数据科学实习所需的基本技能。
2.1了解统计学和概率论
统计学和概率论是数据科学所需的基本核心技能。如果没有对这两者的充分理解,你将不会在这个领域(或面试过程中)取得很大进展!从分析数据并做出有价值的推论到理解模型的工作原理,统计和概率的基本概念都被整合到数据科学生态系统中。
我们可以利用许多统计技术和概率分布来理解给定数据的结构。以下是在处理数据科学问题时将要使用的一些重要的知识点:
- 描述性统计
- 平均值,中位数的模式
- 方差和标准差
- 概率
- 伯努利试验和概率质量函数
- 中心极限定理
- 正态分布
- 推论统计
- 置信区间
- 假设检验
- 相关
2.2良好的编程技巧(选择一种编程语言)
是的,你需要了解编程才能成为数据科学家。这是无法逃避的。AutoML(自动机器学习)正在逐渐被业界接受,但是现在,除了冰冷的编码技能之外别无选择。
目前用于数据科学的两种最流行的编程工具是Python和R.你必须熟悉两者中的至少一种。这些都是开源编程语言,都拥有一个日益增长的大型活跃社区。
R主要用于探索性工作,是统计分析任务的首选。它有一个相对较大的统计软件包库。另一方面,Python是机器学习和深度学习任务的首选。它有许多机器学习和深度学习库和包。
如今,Python在业界肯定更受欢迎。如果你倾向于学习高级机器学习主题,当然还有深度学习,这是一个简单的选择。Python提供的灵活性在这些任务中是无与伦比的。R是一个非常熟练的工具,用于进行探索性分析,包括产生一些非常有洞察力和审美愉悦的情节。
2.3基本的机器学习算法
如果你已经掌握了统计学和概率的基础知识,并且已经掌握了编码技能,那么下一步就是学习机器学习算法的基础知识。熟悉常见的机器学习算法,如线性回归,逻辑回归,决策树,随机森林,朴素贝叶斯,k近邻和支持向量机。
尝试一次只关注一种算法,并了解每种技术背后的直觉。拥有算法的理论知识及其工作方式与能够实现算法同样重要。如果你知道算法的工作原理,你将更容易理解算法的各种参数,调整这些参数以及决定使用哪种算法与哪种类型的数据。
3.构建你的数字产品组合(在线资料)
当你正在努力学习所有的这些新概念时。那么你应该试着展示自己的技能,从而补充所有这些努力。
仅依靠统计,编程和机器学习可能不会让你获得实习的机会。你需要建立自己的数字形象。展示你巨大的潜力,展示你在数据科学之旅中获得的技能。让全世界都知道!
在本节中,我们将介绍可用于构建重要文件的不同方法。
3.1项目工作
我相信学习任何东西的最好方法是将你的知识付诸实践。没有什么比在项目中展示它更能说明“我知道这种技术”了。构建端到端的项目可让你了解数据科学家在日常角色中可能面临的各种可能性和挑战。
你可以寻找与你感兴趣的领域相关的开源项目。相信我,互联网上并不缺乏数据。如果我是一个小说的忠实粉丝,那么我可以用NLP来分析我最喜欢的作家的作品。这表明了对数据科学的热情,并让你在未来的雇主眼中获得优势
以下是一些实践问题(数据链接在文章的最后会放出),可以获得一些宝贵的实践经验:
- 机器学习
- 大马特销售
- 贷款预测
- 自然语言处理
- 情感分析
- 笑话评分
- 推荐引擎
- 计算机视觉
- 面部识别挑战
3.2创建GitHub配置文件
你还应该在此阶段开始创建一个GitHub账户并使用它。这本质上是你的数据科学简历,世界上任何人都可以看到它。
大多数数据科学招聘人员和面试官都会查看求职者的GitHub资料,以评估他/她的潜力。在处理项目时,可以同时列出GitHub上的问题语句和代码。我整理了一个小清单,你可以在下次将代码添加到GitHub时遵循:
- 添加问题陈述
- 制作一个清晰的自述文件
- 编写干净的代码
- 在代码中添加注释
- 添加尽可能多的个人/课程项目
- 如果你处于该级别,则可以为开源项目做出贡献
3.3写博客
我会告诉你一个推动我数据科学事业发展的重要秘诀 - 那就是撰写文章。每当我学习一个新概念时,我都养成了记笔记的习惯。然后很容易的将其转换为文章。这有助于我以更加清晰的方式理解该技术。
你也应该这样做!社区很乐意跟你分析他们的想法和反馈。而当你将文章公开发表时,人们也会分享他们的观点 - 例如“添加实际与预测的可视化可能会有所帮助”,这可以帮助你改进技术。
Quora可以被视为写博客的另一种选择(这是我第一次开始写作的地方)。将复杂的主题分解为易于理解的单词,有助于你掌握主题并精细调整你的结构化思维的技能。
首先,你可以写一些基本的主题,例如使用matplotlib库的进行数据探索、实践问题的方法和解决方案,完成的MOOC的总结或笔记等。
3.4创建和优化你招聘网站的个人资料
LinkedIn是世界上最大的职业社交网站。即使你是一名大一的新生或着即将完成学业的研究生,都可以尝试参加一下。
招聘人员经常使用招聘网站中的信息来验证你的个人资料,或在有机会的情况下与你联系。你可以将其视为你的第二份简历或纸质简历的电子版。如果你想找一份实习的工作但是你的个人资料未更新(或不存在),那么你可能会错过这份工作。
根据你申请的实习职业优化你的个人资料。更新你过去的经验(如果有的话),教育水平,项目和兴趣。如果你尚未创建你的个人资料,那么请快速的去创建个人资料。 你还应该通过与数据科学领域的人员建立联系来开始构建你的关系网络。
有很多人,包括很多有影响力的人,他们定期发布有用的开发成果,我认为去认识他们对你来说应该是强制性的。
4.制定数据科学简历的做法和注意事项
你的简历本质上是你职业生涯的亮点。这是招聘人员/招聘经理看到的第一件事,所以制作完美的简历绝对是你实现寻找一份实习工作的关键。
即使你拥有实习要求部分列出的所有技能,但如果你的简历未达标,那么你很可能得不到面试的机会。
你必须,绝对必须,花费大量时间来创造和完善你的简历。
那么在做这件事时要记住哪些关键的事情呢?
确保你的简历是最新的,并且没有任何拼写错误。检查两次甚至三次。让你的同事或朋友从招聘人员的角度对其进行审核。
在创建或更新简历时,请始终牢记这一点:
写下你所知道的,知道你写的。
还记得你在大学的第一年做的项目嘛?那可能是2-3年前的事了,如果你不记得的细节了?要么研究一些它,要么就不在简历上写它。有10个你无法谈论的项目对招聘人员是一个危险的信号!你写下的所有技术和技能也是如此。
5.准备你的数据科学实习面试
获得一份数据科学有关的实习的最大挑战无疑是面试过程。鉴于你之前没有此领域的工作经验,招聘人员会看你简历的哪些方面?那么你应该在简历和实际面试中展示哪些技能?
这是一个大问题!知道如何驾驭这些棘手的领域可能会影响你获得实习的成败。
当然,你肯定会提到你参与过的(或正在进行中)的项目。但除此之外,无论你有什么背景,面试官都会热衷于一些特定的话题。本节将介绍你需要关注并准备面试的关键问题。
5.1结构化思维
在复杂的数据科学世界中,构建思想的能力是一项宝贵的技能。面试官会判断你是否有能力将问题陈述分解为更小的步骤。并且你会怎么做,这就是这项能力的宝贵所在。
对于任何给定的问题陈述,有必要确定最终目标是什么。下一步是理解提供的数据,并写下实现最终目标所需要的流程。所有这一切都发生在有限的时间范围内(面试官没有一整天的时间去面试你!)。你明白为什么有条理的思维方式这么重要了么?
为了结构化思维技巧,你会得到一个问题 - 目前有多少封邮件正在发送?那是我在面试时被问到的问题。或者班加罗尔的道路上有多少辆红色汽车?印度每天会迈出多少支香烟?
例如,如果我想了解上个月信用卡投资组合中的收费突然增加的原因,我会将其放在类似于以下的结构中:
这些问题没有精确的解决办法。那你怎么解决它们呢?首先要明白的是,面试官并不期望得到确切的数字答案。相反,他们试图了解你如何看待问题以及你获得最终答案的方法。要求使用笔和纸(或白板)是一个好主意,这样你就可以逐步展示自己的想法。
5.2了解你申请的公司
你可能会觉得这一点与讨论的无关。这并不是什么需要提及的事情,因为每个人在申请之前都要看一遍公司的职业描述。但这是一个有用的观点。
但仅仅只是浏览描述是不够的。
我们经常听到招聘人员说有的求职者在没有读过他们公司正在面试的职位的情况下就进来面试了。我个人看到一些人因为不喜欢未来的工作而在实习的几周内就离开了。
在你决定申请工作之前,你必须知道公司是做什么的和公司的愿景是什么。关于这一点,没有第二条路可以走
我的建议是研究一下公司,了解他们的工作。你觉得自己是否可以适应?你能直接看到你的技能可以对公司产生影响吗?你还必须彻底的查看职位描述并在面试中提出问题,以了解你是否适应这家公司。这将节省你的时间和公司的时间。
6.增加你被选择的机会
到目前为止我们看到的指针可以安全地放在“必须拥有”的类别下。如果不确保检查每一个选项,你就无法做到。但是,你可以进一步提高你现有的技能,从竞争中脱颖而出。谁不想那样做?!
在本节中,我借鉴了自己的实习经验,为你提供了一些额外的建议和技巧,以提高你被选中的机会。
6.1高级机器学习
没有什么比看着你自信地回答先进的机器学习问题更能打动面试官了。他们采访的大多数人都能解决基本问题。掌握先进的ML知识肯定会给你带来优势。
确保你已经覆盖了我们之前讨论过的基本机器学习主题(统计数据,概率,回归,树算法等)。然后,你可以安全地跳转到高级ML算法,推荐系统,时间序列预测算法等。
在你职业生涯的这个阶段,我没有必要详细了解所有算法。我相信你会发现3-4种非常有用的技巧,所以要好好学习它们 - 并在面试中喋喋不休。你应该对算法及其背后的数学有一个公平的理解。你可以根据自己的兴趣选择特定字段,并探索该领域中的各种技术。
举个例子,如果你对时间序列感兴趣,你可以开始探索不同的预测技术,平稳性的概念,甚至选择一个关于时间序列的项目并进行研究。或者,如果NLP是你感兴趣的字段,你可以了解如何从基于文本的数据中提取特征,可以在文本数据上使用哪些算法等等。
6.2参加数据科学竞赛
这会为你的简历添加了推动力,增加了获得实习的机会。完成或完成一个项目后,证明你的知识不仅仅局限于书籍。很明显的,你已经尝试将你的理论学习转化为现实世界的数据集 - 这是你的好奇心,热情和学习意愿非常高的一个迹象。
首先,我非常鼓励你参加数据科学竞赛。从AV的DataHack平台或Kaggle上列出的黑客马拉松开始。这些平台提供了模仿真实场景的问题陈述,从而为你提供了对行业生活感受的宝贵机会。
你还可以与来自世界各地的顶级数据科学家竞争(并向他们学习)。这可以作为你自身进步的晴雨表。坚持练习,你会发现你在排行榜排名上升得会有多快。实践就是数据科学之王。
7.在实习期间你会学到什么?
实习可以为你提供哪些教科书,MOOC和视频不能提供给你的?
实践经验。
这是招聘经理在浏览你的个人资料时最看重的一件事。我意识到我在Analytics Vidhya的实习经历是多么有用。
如果你以开放的心态,愿意每天学习,那么你可以从实习中学到很多东西。这正是你在数据科学方面取得成功的方式!
在本节中,我会描述我在数据科学实习期间的主要收获
7.1如何解决实际项目
在实习期间,你将参与一个真实的项目。这是非常宝贵的经验。一旦你加入了这个项目,你可能会发现自己已经陷入端到端的数据科学生命周期,包括定义问题语句和构建模型。
如果你之前参加过数据科学竞赛,你将对数据科学家遇到的不同挑战有一个概念。但需要注意的是。
这些竞赛中提供的问题描述和数据集与现实场景非常不同。数据集在行业中是混乱和非结构化的。在构建任何模型之前,需要进行大量的数据清理工作。
事实上,如果70-80%的任务涉及数据清理,请不要对此感到惊讶。
你将学习如何构造问题语句,理解解决问题所需的域和数据,然后找出提取数据的来源。下一步是深入研究。了解其他数据科学家为解决类似问题所采取的方法。
这将给你一个公平的想法,什么工作应该做得好,什么工作不值得花费时间。虽然数据科学鼓励进行实验,但你从经理那里获得的创作自由度是有限的。过滤掉那些你事先知道不会起作用的方面。
7.2讲述数据故事的方法(探索性数据分析)
人们通常花费更多时间来构建模型而不是理解数据。我自己曾经这么做过很长时间。正是在我的实习期间,当我在做一个项目的时候,我意识到我的方法是多么的错误,没有之一。
我再怎么强调让你了解你所拥有的数据的重要性也不为过。数据集中存在着很多层次和隐藏的方面,我们经常在匆忙构建模型时忽略它们。这是你应该在实习期间学会的东西(但要提前做好准备)。
花尽可能多的时间探索数据!绘制图表,寻找模式,然后就像它是世界上最好的作品一样投入其中(因为它的确是!)尝试着理解分布,查找影响目标变量的因素并进行推断。建立一个假设,可视化数据,找到见解,最重要的是,与你的队友讨论你的发现。
7.3团队合作
数据科学实习的一个好处是与非常聪明和支持你的人合作。当你朝着最终目标努力时,数据科学项目需要同事之间的协作和协调。我认为自己很幸运能成为这样一支伟大团队的一员。
在团队中工作的最好的部分是总是有人讨论你的想法(并澄清你的疑虑)。例如,在我在Analytics Vidhya的实习期间,我们作为一个团队参与了一个大型的黑客马拉松。数据集有多个文件,因此我们划分了任务,我们每个人都在理解特定的文件,并与团队的其他成员分享我们的知识。
这是一次了不起的经历。
在这些讨论中,我学习了不同的方法来解决问题和改进/优化我的代码。团队合作不仅可以帮助你建立自己的软技能,还可以磨练你的技术技能。这是一个双赢的组合!
7.4获得该领域的实践经验
当你开始你的数据科学求职时,你很可能会发现大多数公司都要求在这个领域中获得一些经验。你应该了解公司正在处理的问题,并考虑您可以为公司做出贡献的方式。与正在从事这个项目的人讨论你的想法。
你还应该尝试了解公司中其他人的角色。你可以与不同团队的人员进行交流和讨论。例如,与营销团队交谈,了解你是否能够想出一个数据驱动的方案来解决他们的问题。充分利用你的机会。保持好奇心,问相关的问题,向你的团队学习。
7 Steps to crack your first Data Science Internship (Tips, Tricks and Resources!)