原文:
www.kdnuggets.com/2021/02/data-science-learning-roadmap-2021.html
评论
尽管日期发生了变化,但新的一年给每个人带来了重新开始的希望。如果你再加上一点计划、一些清晰的目标和学习路线图,你将拥有一个充满成长的年份。
1. 谷歌网络安全证书 - 快速进入网络安全职业轨道。
2. 谷歌数据分析专业证书 - 提升你的数据分析能力
3. 谷歌 IT 支持专业证书 - 支持你的组织 IT 工作
本文旨在通过提供学习框架、资源和项目创意来加强你的计划,帮助你建立一个展示数据科学专长的扎实作品集。
仅供参考:我根据自己在数据科学领域的个人经验准备了这份路线图。这并不是唯一的学习计划。你可以根据自己感兴趣的特定领域或研究方向调整这份路线图。此外,这个路线图是以 Python 为基础的,因为我个人更喜欢它。
学习路线图是课程的延伸。它绘制了一个多层次的技能图谱,详细说明了你想要磨练的技能,你将如何在每个层级测量结果,以及技巧来进一步掌握每项技能。
我的路线图根据每个层级的复杂性和在实际应用中的普遍性分配权重。我还添加了一个估计时间,帮助初学者完成每个层级的练习和项目。
这里有一个金字塔,描绘了按复杂性和行业应用排序的高级技能。
数据科学任务按复杂性排序。
这将标志着我们框架的基础。我们现在需要深入每一层,以更具体、可测量的细节完善我们的框架。
具体性来自于检查每一层中的关键主题和掌握这些主题所需的资源。
我们将能够通过将学到的知识应用到多个现实世界的项目中来衡量所获得的知识。我已经添加了一些项目创意、门户和平台,供你用来衡量你的能力。
重要说明: 每天处理一天的内容,每天一个视频/博客/章节。这是一个广泛的范围,不要给自己带来过多压力!
让我们深入探讨这些层次,从基础开始。
(估计时间:2-3 个月)
首先,确保你拥有扎实的编程技能。每个数据科学职位描述都会要求至少一种编程语言的专业知识。
需要了解的具体编程主题包括:
-
常见的数据结构(数据类型、列表、字典、集合、元组)、编写函数、逻辑、控制流程、搜索和排序算法、面向对象编程,以及使用外部库。
-
SQL 脚本:使用连接、聚合和子查询查询数据库
-
熟悉使用终端、Git 的版本控制和使用 GitHub
学习 Python 的资源:
-
learnpython.org [免费]— 一个免费的初学者资源。它从零开始涵盖了所有基本编程主题。你可以使用互动式终端来并行练习这些主题。
-
Kaggle [免费]— 一个免费的互动式 Python 学习指南。它是一个简短的教程,涵盖了数据科学中的所有重要主题。
-
freeCodeCamp 的 Python 认证 [免费] – freeCodeCamp 提供了几个基于 Python 的认证课程,如科学计算、数据分析和机器学习。
-
freecodecamp 在 YouTube 上的 Python 课程 [免费] — 这是一个 5 小时的课程,你可以跟随这个课程来练习基本概念。
-
中级 Python[免费]— Patrick 在 freecodecamp.org 上提供的另一个免费课程。
-
Coursera Python for Everybody Specialization [收费] **— **这是一个涵盖初学者级概念、Python 数据结构、从网络收集数据以及使用 Python 操作数据库的专业化课程。
学习 Git 和 GitHub 的资源:
-
Git 和 GitHub [免费] 指南:完成这些教程和实验室,以对版本控制有扎实的掌握。这将有助于你进一步参与开源项目。
-
这里有一个 Git 和 GitHub 快速入门课程 在 freeCodeCamp 的 YouTube 频道上
学习 SQL 的资源:
-
这里有一个 SQL 和数据库课程 在 freeCodeCamp 的 YouTube 频道上
-
Treehouse 提供了一个 很好的 SQL 入门课程。
通过解决大量问题和完成至少两个项目来衡量你的专业水平:
-
在这里解决大量问题: HackerRank (适合初学者)和 LeetCode (解决简单或中等难度的问题)
-
从网站/API 端点提取数据 — 尝试编写 Python 脚本,从允许抓取的数据网页(如 soundcloud.com)中提取数据。将提取的数据存储到 CSV 文件或 SQL 数据库中。
-
游戏如石头剪子布、旋转纱线、猜单词、掷骰子模拟器、井字棋等。
-
简单的网页应用程序,如 YouTube 视频下载器、网站屏蔽器、音乐播放器、抄袭检测器等。
将这些项目部署到 GitHub Pages 或仅在 GitHub 上托管代码,以便你学习如何使用 Git。
(预计时间:2 个月)
数据科学工作的一个重要部分是寻找能够帮助你解决问题的适当数据。你可以从不同的合法来源收集数据 — 抓取(如果网站允许)、API、数据库和公开的代码库。
一旦你拥有数据,分析师通常会发现自己在清理数据框、处理多维数组、进行描述性/科学计算以及操作数据框以汇总数据。
数据在“现实世界”中很少是干净和格式化的。Pandas 和 NumPy 是你可以使用的两个库,帮助你从脏数据转换为可分析的数据。
当你开始熟悉编写 Python 程序时,可以随时开始学习使用像pandas和numpy等库。
学习数据收集和清洗的资源:
-
关于 在 Python 中使用 NumPy 和 Pandas 进行数据处理的实用教程 来自 HackerEarth。
-
Kaggle pandas 教程 [免费] — 一个简短而精炼的动手教程,将引导你掌握常用的数据处理技能。
-
Coursera 上的 Python 数据科学入门课程 — 这是应用数据科学与 Python 专业课程的第一个课程。
数据收集项目创意:
-
从你选择的网站/API(对公众开放)收集数据,并将数据转化为来自不同来源的汇总文件或表格(数据库)。示例 API 包括 TMDB、quandl、Twitter API 等等。
-
选择任何公开可用的数据集,并在查看数据集和领域后定义一系列你希望探索的问题。利用 Pandas 和 NumPy 对数据进行清洗,以找出这些问题的答案。
(预计时间:2–3 个月)
下一阶段需要掌握的是数据分析和讲故事。数据分析师的核心职责是从数据中提取洞见,并用简单的术语和可视化方式将其传达给管理层。
讲故事部分要求你在数据可视化方面非常熟练,并具备出色的沟通技巧。
需要学习的具体探索性数据分析和讲故事的主题包括:
-
探索性数据分析 — 定义问题、处理缺失值、异常值、格式化、过滤、单变量和多变量分析。
-
数据可视化 — 使用如 matplotlib、seaborn 和 plotly 等库绘制数据。了解如何选择合适的图表来传达数据中的发现。
-
开发仪表板 — 许多分析师仅使用 Excel 或类似 Power BI 和 Tableau 的专业工具来构建汇总/聚合数据的仪表板,以帮助管理层做出决策。
-
商业敏锐度:练习提出正确的问题,这些问题真正针对商业指标。练习编写清晰简洁的报告、博客和演示文稿。
获取更多数据分析学习资源:
-
在这个freeCodeCamp YouTube 频道上的免费课程中学习使用 Python 进行数据分析。
-
Python 数据分析 — 由 IBM 提供的 Coursera 课程。该课程涵盖了数据清洗、探索性分析以及使用 Python 进行简单模型开发。
-
数据可视化 — 由 Kaggle 提供的另一门互动课程,让你练习所有常用的绘图方法。
-
通过以下书籍培养产品感知和商业头脑:Measure what matters、Decode and conquer、Cracking the PM interview**。
数据分析项目想法
-
在 电影数据集上的探索性分析以寻找制作盈利电影的公式(将其作为灵感来源),使用来自医疗、金融、WHO、过往人口普查、电子商务等的数据集。
-
利用上面提供的资源构建仪表板(jupyter notebooks、excel、tableau)。
(预计时间:4–5 个月)
数据工程支撑着研发团队,使研究工程师和科学家在大数据驱动的公司中能够访问干净的数据。数据工程是一个独立的领域,如果你只想专注于统计算法方面的问题,可以选择跳过这一部分。
数据工程师的职责包括构建高效的数据架构,简化数据处理,维护大规模的数据系统。
工程师使用 Shell (CLI)、SQL 和 Python/Scala 来创建 ETL 管道,自动化文件系统任务,并优化数据库操作,以提高其性能。
另一个关键技能是实施这些数据架构,这需要对像 AWS、Google Cloud Platform、Microsoft Azure 等云服务提供商有很高的熟练度。
学习数据工程的资源:
-
Udacity 数据工程纳米学位— 就资源汇总列表而言,我还没遇到过结构更好的数据工程课程,该课程从零开始涵盖了所有主要概念。
-
GCP 上的数据工程、大数据和机器学习专项课程 — 你可以完成 Google 在 Coursera 上提供的这一专项课程,该课程带你了解 GCP 提供的所有主要 API 和服务,帮助你构建完整的数据解决方案。
数据工程项目想法/认证准备:
-
AWS 认证机器学习(300 美元)— AWS 提供的一个监考考试,这将使你的个人资料更具分量(但不保证任何东西),需要对 AWS 服务和机器学习有一定的理解。
-
专业数据工程师 — 由 GCP 提供的认证。这也是一项监考考试,评估你设计数据处理系统、在生产环境中部署机器学习模型以及确保解决方案质量和自动化的能力。
(预计时间:4–5 个月)
统计方法是数据科学的核心部分。几乎所有的数据科学面试都主要关注描述性和推断统计学。
人们常常在没有清楚了解解释这些算法工作的基础统计和数学方法的情况下开始编写机器学习算法。这显然不是最佳的学习方法。
你应该在应用统计学和数学中关注的主题:
-
描述统计学 — 能够总结数据是很强大的,但并不总是必要。学习位置估计(均值、中位数、众数、加权统计、修剪统计)和变异性来描述数据。
-
推断统计学 — 设计假设检验、A/B 测试、定义业务指标、分析收集的数据和实验结果,使用置信区间、p 值和α值。
-
线性代数、单变量和多变量微积分 ,以理解机器学习中的损失函数、梯度和优化器。
学习统计学和数学的资源:
-
在这个免费的 8 小时课程中学习大学级统计学 ,课程在 freeCodeCamp 的 YouTube 频道上提供。
-
[书籍] 数据科学的实用统计 (强烈推荐) — 一本详细介绍所有重要统计方法的指南,包含清晰简洁的应用/示例。
-
[书籍] 裸统计学 — 一本非技术性的详细指南,帮助理解统计学对我们日常事件、体育、推荐系统等许多实例的影响。
-
Python 中的统计思维 — 一门基础课程,帮助你开始统计思维。该课程还有第二部分。
-
描述统计学入门 — 由 Udacity 提供。包括解释广泛使用的定位和变异性测量(标准差、方差、中位绝对偏差)的讲解视频。
-
推论统计学,Udacity——该课程包括视频讲座,教你如何从数据中得出可能并不立即显而易见的结论。它侧重于发展假设,并使用常见的测试,如 t 检验、方差分析(ANOVA)和回归分析。
-
这里有一份数据科学统计指南来帮助你走上正确的道路。
统计项目想法:
-
解决上述课程提供的练习,然后尝试处理一些公共数据集,在这些数据集中应用这些统计概念。提出类似于“在 0.05 显著性水平下,是否有足够证据表明波士顿的母亲生育时的平均年龄超过 25 岁?”的问题。
-
尝试设计并与同伴/小组/班级一起进行小实验,让他们与应用程序互动或回答问题。在一段时间后,一旦你收集到足够的数据,就对这些数据应用统计方法。这可能非常难以实现,但应该非常有趣。
-
分析股票价格、加密货币,并围绕平均收益或其他指标设计假设。确定你是否能通过临界值拒绝零假设或未能拒绝零假设。
(预计时间:4–5 个月)
在深入掌握所有上述主要概念后,你现在应该准备好开始使用高级机器学习算法。
学习主要有三种类型:
-
监督学习——包括回归和分类问题。学习简单线性回归、多重回归、多项式回归、朴素贝叶斯、逻辑回归、KNN、树模型、集成模型。了解评估指标。
-
无监督学习——聚类和降维是无监督学习中两个广泛使用的应用。深入研究主成分分析(PCA)、K 均值聚类、层次聚类和高斯混合模型。
-
强化学习(可跳过)——帮助你构建自我奖励系统。学习优化奖励,使用 TF-Agents 库,创建深度 Q 网络,等等。
大多数机器学习项目要求你掌握我在这篇博客中解释的许多任务。
学习机器学习的资源:
-
这里有一个免费的完整课程使用 ScikitLearn 的 Python 机器学习在 freeCodeCamp YouTube 频道上。
-
[书籍] 动手学习机器学习:Scikit-Learn、Keras 和 TensorFlow 第 2 版——这是我最喜欢的机器学习书籍之一。书中不仅涵盖了理论数学推导,还通过示例展示了算法的实现。你应该完成每章末尾给出的练习。
-
Andrew Ng 的机器学习课程——任何想学习机器学习的人都必修的课程。毫无疑问!
-
机器学习简介——Kaggle 的互动课程。
-
游戏 AI 和强化学习简介——Kaggle 上另一个关于强化学习的互动课程。
对于那些有兴趣进一步深入深度学习的人,你可以从完成 deeplearning.ai 提供的专业化课程和《动手学习》书籍开始。从数据科学的角度来看,除非你打算解决计算机视觉或 NLP 问题,否则这并不是特别重要。
深度学习值得拥有一份专门的路线图。我将很快创建一个包含所有基础概念的路线图。
我还为你在 Notion 上创建了一个学习跟踪器。你可以根据自己的需求自定义它,并用来跟踪你的进度,方便访问所有资源和项目。
此外,这是这个博客的免费视频版本:
这只是数据科学广泛领域的一个高级概述。你可能需要深入研究这些主题,为每个类别制定一个基于概念的详细计划。
原文。经许可转载。
相关: