2021年数据科学学习路线图
建立自己的学习轨道,以掌握应用数据科学的艺术
> High-level Data Science Roadmap
尽管除了日期以外,其他一切都没有真正改变,但新的一年充满了所有人的希望,重新开始。添加一些计划,精心制定的目标和学习路线图,可以使一年的增长成为一个很好的配方。
这篇文章旨在通过为您提供学习框架,资源和项目构想,以构建展示数据科学专业知识的扎实工作组合,来加强您的计划。
免责声明:所定义的路线图是根据我在数据科学方面的经验而编写的。这不是千篇一律的学习计划。路线图可能会更改,以更好地适合任何特定领域/研究领域。另外,创建此程序时要牢记python,因为我个人更喜欢使用python。
什么是学习路线图?
以我的拙见,学习路线图是课程的扩展,它绘制了多层次的技能图,其中详细说明了您想磨练哪些技能,如何测量每个级别的结果以及进一步掌握每种技能的技术。
我的路线图根据现实世界中应用程序的复杂性和通用性将权重分配给每个级别。我还为初学者增加了估计时间,以完成练习/项目的每个级别。
这是一个金字塔,按复杂程度和在行业中的应用顺序描述了高级技能。
> Data science tasks in the order of complexity
这将成为我们框架的基础,我们现在必须深入研究每个层次,以使用更具体,可衡量的细节来完善我们的框架。
特殊性来自征召每个阶层和资源中的关键主题以引用这些主题。
我们可以通过将学习到的主题应用于许多实际项目中来对其进行评估。我添加了一些项目构想,门户和平台,可用于评估您的熟练程度。
Imp注意:一次只需要一天,一天只需要一个视频/博客/一章。它涵盖范围广。不要淹没自己!
从底部开始,让我们深入研究每个层次。
1.程序设计或软件工程
(预计时间:2-3个月)
首先,请确保您具有良好的编程技能。每个数据科学职位描述都要求至少一种语言的编程专业知识。
具体主题包括:
· 通用数据结构(数据类型,列表,字典,集合,元组),编写函数,逻辑,控制流,搜索和排序算法,面向对象的编程以及使用外部库。
· SQL脚本:使用联接,聚合和子查询查询数据库
· 可以轻松使用终端,Git中的版本控制以及使用GitHub
python资源:
· Learnpython.org [free]-面向初学者的免费资源。它从头开始涵盖所有基本编程主题。您将获得一个交互式外壳,可以并行练习这些主题。
· Kaggle [免费]-一个免费的交互式python学习指南。这是一个简短的教程,涵盖了数据科学的所有重要主题。
· YouTube上的freecodecamp提供的Python课程[免费]-这是一门5小时的课程,您可以按照该课程练习基本概念。
· 中级python [免费]-Patrick的另一门免费课程,位于freecodecamp.org上。
· Coursera Python for Everybody专业化[fee]-这是一个专业化,涵盖了初学者级的概念,python数据结构,从网络上收集数据以及将数据库与python一起使用。
git
· Git和GitHub指南[免费]:完成这些教程和实验,以牢固掌握版本控制。它将帮助您进一步为开源项目做出贡献。
的SQL
· Kaggle上的SQL和高级SQL简介。
· Datacamp还提供许多有关SQL的课程。
通过解决许多问题并建立至少两个项目来衡量您的专业知识:
· 在这里解决很多问题:HackerRank(适合初学者),LeetCode(解决简单或中级问题)
· 从网站/ API端点中提取数据-尝试从提取网页(例如soundcloud.com)的数据中提取数据来编写python脚本。将提取的数据存储到CSV文件或SQL数据库中。
· 像剪刀石头布,纺纱,子手,骰子滚动模拟器,井字游戏等游戏。
· 简单的网络应用程序,例如youtube视频下载器,网站拦截器,音乐播放器,pla窃检查器等。
将这些项目部署在GitHub页面上,或仅将代码托管在GitHub上,以便您学习使用Git。
2.数据收集与整理(数据清理)
(预计时间:2个月)
数据科学工作的重要部分集中在寻找可帮助您解决问题的合适数据上。您可以从不同的合法来源收集数据-抓取(如果网站允许),API,数据库,公共存储库。
一旦掌握了数据,分析师通常会发现自己正在清洗数据框,使用多维数组,使用描述性/科学计算,操纵数据框以汇总数据。
数据很少是干净的,并且没有格式可以在'现实世界'中使用。Pandas和NumPy是您可以使用的两个库,可以将脏数据转换为可立即分析的数据。
当您开始舒适地编写python程序时,可以随时开始学习使用pandas和numpy之类的库。
资源:
· 使用pandas进行数据操作[fee] —来自数据营的交互式课程,可以帮助您快速入门使用pandas进行数据处理。学习添加转换,聚合,子集和索引数据帧。
· Kaggle pandas教程[免费]-简短的动手教程,将带您了解常用的数据处理技能。
· Kaggle的数据清理课程。
· 关于学习Numpy,Pandas,matplotlib和seaborn的freecodecamp课程[免费]。
· 关于Python数据科学概论的Coursera课程[fee]-这是应用数据科学与Python专业化的第一门课程。
项目构想:
· 从您选择的网站/ API(开放供公众使用)收集数据,收集数据,并将数据转换为将来自不同来源的数据存储到聚合文件或表(DB)中。示例API包括TMDB,quandl,Twitter API等。
· 选择任何公开可用的数据集;在查看数据集和域后,定义一些您想寻求的问题。整理数据,使用pandas和NumPy找出这些问题的答案。
3. EDA,业务敏锐度和讲故事
(预计时间:2-3个月)
接下来要掌握的是数据分析和讲故事。从数据中获取见解,然后以简单的术语和可视化方式将其传达给管理层是数据分析师的核心职责。
讲故事的部分要求您精通数据可视化以及出色的沟通技巧。
具体主题:
· 探索性数据分析-定义问题,处理缺失值,离群值,格式化,过滤,单变量和多变量分析。
· 数据可视化—使用matplotlib,seaborn和plotly等库来绘制数据。知识,以选择正确的图表来传达数据中的发现。
· 开发仪表板-很大一部分分析师仅使用Excel或Power BI和Tableau之类的专用工具来构建仪表板,以汇总/汇总数据以帮助管理层制定决策。
· 业务敏锐度:提出正确的问题来回答,这些问题实际上是针对业务指标的。练习编写简洁明了的报告,博客和演示文稿。
资源:
· 数据分析方面的职业发展轨迹-datacamp。您可以参考大量互动课程,以及在教学中使用的实际案例研究。但是,经过专业化后,请在您自己的项目上工作。
· 使用Python进行数据分析-IBM在Coursera上。该课程涵盖了使用python进行的争论,探索性分析和简单模型开发。
· 数据可视化-Kaggle。另一门交互式课程,可让您练习所有常用的绘图。
· 电子表格,Excel,Tableau,Power BI中的数据可视化-选择任何人。
· 通过这些书来建立产品意识和商业敏锐度:衡量重要问题,解码并征服,破解PM访谈。
项目构想
· 对电影数据集进行探索性分析,找到创建可盈利电影的公式(以其为灵感),使用医疗保健,财务,世卫组织,过往普查,电子商务等数据集。
· 使用上面提供的资源构建仪表板(Jupyter Notebooks,Excel,Tableau)。
4.数据工程
(预计时间:4-5个月)
数据工程通过使大数据驱动型公司的研究工程师和科学家可以访问干净的数据来支撑研发团队。它本身就是一个字段,如果您只想关注问题的统计算法方面,则可以决定跳过这一部分。
数据工程师的职责包括建立高效的数据体系结构,简化数据处理以及维护大型数据系统。
工程师使用Shell(CLI),SQL和python / Scala创建ETL管道,自动化文件系统任务并优化数据库操作以使其具有高性能。另一个关键技能是实现这些数据体系结构,这些体系结构要求AWS,Google Cloud Platform,Microsoft Azure等云服务提供商熟练掌握。
资源:
· [书籍]机器学习工程,由安德里·伯科夫(Andriy Burkov)撰写,是一本涵盖了在生产环境中部署/监控模型的真实场景的书。
· Udacity编写的Data Engineering Nanodegree —就资源的汇编清单而言,我还没有遇到过结构更好的数据工程课程,该课程将从头开始涵盖所有主要概念。
· 数据工程入门-通过datacamp。一个很好的资源,可以开始使用大量工具来构建ETL管道。
· GCP专业化方面的数据工程,大数据和机器学习-您可以在Coursera上完成Google提供的这一专业化,带您逐步了解GCP提供的所有主要API和服务,以构建完整的数据解决方案。
项目构想/证书准备:
· AWS认证的机器学习(300 USD)—由AWS提供的监考考试,可为您的个人资料增加一些分量(尽管不能保证任何内容),需要对AWS服务和ML有一定的了解。
· 专业数据工程师-GCP提供的认证。这也是一项督导性考试,评估您设计数据处理系统,在生产环境中部署机器学习模型,确保解决方案质量和自动化的能力。
5.应用统计学和数学
(预计时间:4-5个月)
统计方法是数据科学的核心部分。几乎所有的数据科学访谈都主要关注描述性和推论性统计。
人们开始对机器学习算法进行编码,却没有清楚地理解解释这些算法工作原理的基础统计和数学方法。
您应该关注的主题:
· 描述性统计-能够汇总数据的功能非常强大,但并非总是如此。了解位置估算值(平均值,中位数,众数,加权统计量,修整统计量)以及描述数据的可变性。
· 推论统计-设计假设检验,A / B检验,定义业务指标,使用置信区间,p值和alpha值分析收集的数据和实验结果。
· 线性代数,单变量和多维演算,以了解机器学习中的损失函数,梯度和优化器。
资源:
· [图书]实用的数据科学统计(强烈推荐)—有关所有重要统计方法以及简洁明了的应用程序/示例的详尽指南。
· [图书]统计资料-一种非技术性但详尽的指南,旨在了解统计资料对我们的日常活动,体育比赛,推荐系统以及更多情况的影响。
· Python中的统计思考-帮助您开始进行统计思考的基础课程。本课程也有第二部分。
· 描述性统计简介-由Udacity提供。包含视频讲解,讲解了广泛使用的位置和变异性度量(标准偏差,方差,中位数绝对偏差)。
· 推断统计,Udacity —该课程包括视频讲座,目的是教育您从可能不立即显而易见的数据中得出结论。它着重于发展假设并使用常见的检验,例如t检验,ANOVA和回归。
项目构想:
· 解决以上课程中提供的练习,然后尝试遍历许多公共数据集,您可以在其中应用这些统计概念。提出这样的问题:'是否有足够的证据得出在波士顿出生的母亲的平均年龄在25岁以上的显着性水平为0.05。'
· 要求同伴/小组/班级与应用程序交互或回答问题,以尝试设计和运行小型实验。一段时间后如果您有大量数据,请对收集的数据运行统计方法。这可能很难实现,但应该非常有趣。
· 围绕平均回报率或任何其他指标分析股票价格,加密货币和设计假设。使用临界值确定是否可以拒绝原假设。
6.机器学习/人工智能
(预计时间:4-5个月)
在精通上述所有主要概念之后,您现在应该准备好开始使用精美的ML算法。
有三种主要的学习类型:
· 监督学习-包括回归和分类问题。研究简单线性回归,多元回归,多项式回归,朴素贝叶斯,逻辑回归,KNN,树模型,集成模型。了解评估指标。
· 无监督学习-聚类和降维是无监督学习的两个广泛应用。深入研究PCA,K均值聚类,分层聚类和高斯混合。
· 强化学习(可以跳过*)—帮助您构建自我奖励系统。学习使用TF-Agents库,创建深度Q网络等来优化奖励。
大多数ML项目都需要您掌握一些我在此博客中介绍过的任务。
资源:
· [book]使用Scikit-Learn,Keras和TensorFlow进行动手机器学习,第二版-我最喜欢的机器学习书籍之一。不仅涵盖了理论上的数学推导,而且还通过示例展示了算法的实现。您应该解决每章末尾给出的练习。
· Ng的机器学习课程—任何尝试学习机器学习的人的入门课程。把手放下!
· 机器学习简介— Kaggle的互动式课程。
· 游戏AI和强化学习简介–关于Kaggle强化学习的另一门互动课程。
· 使用Python进行有监督的学习-datacamp提供了许多机器学习的课程,您可以遵循这些课程。所有这些都为时4小时,可以帮助您对ML的应用有一个体面的了解。
deeplearning.ai的深度学习专业
对于那些对进一步学习深度学习感兴趣的人,可以通过完成deeplearning.ai和动手实践书提供的专业知识来开始。从数据科学的角度来看,这并不是那么重要,除非您打算解决计算机视觉或NLP问题。
深度学习值得拥有自己的专门路线图。我将使用所有基本概念来创建
追踪学习进度
> https://www.notion.so/Data-Science-learning-tracker-0d3c503280d744acb1b862a1ddd8344e
我还为您创建了一个关于概念的学习跟踪器(https://www.notion.so/Data-Science-learning-tracker-0d3c503280d744acb1b862a1ddd8344e)。您可以根据需要对其进行自定义,并使用它来跟踪进度,轻松访问所有资源和项目。
Harshit的数据科学
这只是数据科学广泛领域的高级概述,您可能需要深入研究每个主题,并为每个类别创建一个基于概念的低级计划。
(本文由闻数起舞翻译自Emmett Boudreau的文章《Data Science Learning Roadmap for 2021》,转载请注明出处,原文链接:https://towardsdatascience.com/data-science-learning-roadmap-for-2021-84f2ba09a44f)