Class Central 的数据顾问(Data Consultant)David Venturi 近日分享了其对于自学数据科学的课程推荐,本文主要推荐了数据科学过程(data science process)的入门课程。
一年前,我从加拿大顶级的计算机科学课程之一退出,并利用在线资源开始创建属于自己的数据科学硕士课程。我意识到,通过 edX 、Coursera 以及 Udacity,我只需用成本的一小部分便可以更迅速、有效地学到我所需要的一切。
这门课程差不多要完成了。我修读过许多数据科学相关的课程,并了解更多的课程。我知道其中有什么选择,也清楚成为数据分析师或数据科学家所需要的技能。我在几个月之前开始着手创建一个能够为数据科学的每个主题推荐最佳课程的评审驱动指南。
关于系列的第一个指南,我为初学级的数据科学家推荐了编码类指南,然后是概率与统计类的指南:
编码类:https://medium.freecodecamp.com/if-you-want-to-learn-data-science-start-with-one-of-these-programming-classes-fb694ffe780c#.42hhzxopw
概率与统计类:https://medium.freecodecamp.com/if-you-want-to-learn-data-science-take-a-few-of-these-statistics-classes-9bbabab098b9#.p7pac546r
现在来介绍数据科学
对于数据科学课程所介绍的一些内容若有不确定的地方也不用担心,稍后会做出解释。
为了这本指南,我花了 10 多个小时搜集截至 2017 年 1 月提供的数据科学课程的每一个在线介绍,从它们的教学大纲和评论中提取关键信息并编辑评分。为了完成这个任务,我使用了开源的 Class Central 社区和它的具有数千课程评分与评论的数据库作为辅助。
Class Central 的主页:
www.class-central.com
自 2011 年以来,Class Central 的创始人 Dhawal Shah 一直比世界上任何人都密切关注在线课程,他亲自帮我列出了这份资源清单。
我们如何选择课程
每门课程必须符合三个标准:
它所教授的必须是数据科学过程(data science process),稍后会对其做出解释。
它必须按需或每几个月来提供课程。
它必须是一个交互式的在线课程,所以这里没有书或只读教程。虽然存在多种可行的学习方法,但本指南只专注于课程。
我们认为这个指南涵盖了所有符合上述标准的重要课程。由于 Udemy 中存在数百个课程,所以仅选择了评论最多且评分最高的课程。但我们总会有可能错过一些优秀的课程,所以如果发现我们有所遗漏,请在评论区告知。
我们如何评估课程
为了计算每个课程的加权平均评分,我们汇集了 Class Central 和其他评论网站的平均评分和评论数。同时我们阅读文本评论,以该反馈作为数字评分的补充。
我们基于两个因素做出主观的大纲判断内容:
1. 数据科学过程的覆盖。课程是否略过了某些科目?它是否覆盖了某些科目过多的细节?请参阅下一部分来了解此过程的具体内容。
2. 通用数据科学工具的使用。课程是使用普遍的编程语言(如 Python 和/或 R)教授的吗?这些都不是必要的,但在大多数情况下有帮助,所以对这些课程稍作优先考虑。
Python 和 R 是数据科学中使用最普遍的两种编程语言
什么是数据科学过程(data science process)?
什么是数据科学?数据科学家做什么工作?这些是数据科学课程介绍所应回答的基本问题类型。哈佛大学教授 Joe Blitzstein 和 Hanspeter Pfister 的以下信息对典型的数据科学过程进行了概述,这会帮助我们回答这些问题。
来自 Opera Solution 的可视化
我们对于数据科学课程介绍的目标是熟悉数据科学过程,并不想太深入地涵盖过程的具体方面,因此便停留在该标题的「介绍/入门(intro to)」部分。
对于每一方面,理想课程应该解释过程框架内的关键概念、介绍常用工具并提供一些示例(动手实践更佳)。
我们只是在寻找课程介绍,因此本指南不包括约翰·霍普金斯大学的 Coursera 数据科学专业(Data Science Specialization)或 Udacity 的数据分析师纳米学位(Data Analyst Nanodegree)等专业。这些课程的汇编并未包含这个系列的目的:为每个科目找到包括数据科学教育在内的最佳个人课程。本系列文章的最后三个指南将详细介绍数据科学过程的每个方面。
基本编码、统计以及概率所需的经验
下面列出的课程需要基本的编程、统计和概率经验。这个要求可以理解,因为有些前沿科目通常包含几门专项课程。
这种经验可以从我们所推荐的数据科学职业指南的前两篇文章(编程、统计)中获得。
我们选择的数据科学最佳入门课程是:
数据科学 A-Z™:包含实际数据科学练习(Data Science A-Z™: Real-Life Data Science Exercises Included)(Kirill Eremenko/Udemy):
https://www.udemy.com/datascience
在我们量化评估的 20 个数据科学课程中,Kirill Eremenko 在 Udemy 上的 Data Science A-Z™ 在数据科学过程的广度和深度上都是确定无疑的赢家。在其 3071 个评价中,其获得了 4.5 的加权平均评分,这个课程是目前评分最高且评论数最多的课程。
该课程概述了完整的数据科学过程并提供了实际的案例。而且该课程的长度为 21 小时,是一个非常合适的长度。评价者普遍很喜欢该导师的讲解以及课程的内容组织。该课程的价格会随 Udemy 的折扣政策而发生改变,你甚至有可能只需 10 美元就能学习该课程。
尽管它并不检查我们的「常用数据科学工具使用」工具箱,但非 Python/R 工具选择(gretl、Tableau、Excel)在这一背景中得到了有效的应用。Eremenko 解释了选择 gretl 的原因(注:gretl 是一个统计软件包),尽管这个解释也适用于其使用的所有工具:
使用 gretl,我们可以实现与使用 R 和 Python 一样的建模,但我们却不需要编写代码。这是很重要的。你们一些人可能已经对 R 非常了解了,但另一些人却可能对 R 一无所知。我的目标是让你了解如何构建一个稳健的模型以及给你一个你可以应用你所选择的任何工具的框架。gretl 将能帮助我们避免陷入写代码的麻烦中。
一位著名的评论者指出:
Kirill 是我在网上找到的最好的老师。他使用实际案例并会解释常见的问题,让你能对该课程有更深入的理解。他也提供了很多关于作为一位数据科学家意味着什么的见解,从如何利用不足分的数据一直到如何将你的成果展示给高管。我强烈推荐初学者学生到中等的数据分析师都学习这门课程。
一个非常棒的以 Python 为中心的入门介绍
数据分析入门(Intro to Data Analysis(Udacity)):
https://www.class-central.com/mooc/4937/udacity-intro-to-data-analysis
Udacity 的 Intro to Data Analysis 是一个相对较新的课程,该课程也是 Udacity 受欢迎的数据分析师纳米学位(Nanodegree)课程中的一部分。它包含了清晰的使用 Python 的数据科学过程,尽管其在建模方面还有所欠缺。该课程估计需要 36 个小时的时间(每周 6 小时,一共 6 周)。尽管在我的经历中它要短一些。这个课程有一个 5 星的评价。它是免费的。
该课程的视频制作精良,其导师 Caroline Buckey 的授课清晰明了。课程中大量的编程测验能够帮助强化在视频中学到的概念。学生肯定能够获得新的或提升过得 NumPy 和 Pandas 技能(NumPy 和 Pandas 都是流行的 Python 库)。其最后的项目(其会在纳米学位中得到评估和评价,但并不在这个免费的单独课程中)可以作为一个很好的额外补充。
一个很不错但没有评价数据的课程
数据科学基础(Data Science Fundamentals (Big Data University)):
https://bigdatauniversity.com/learn/data-science/
Data Science Fundamentals 是由 IBM 的 Big Data University 所提供了一个 4 个课程的系列课程。这四门课程分别是:Data Science 101、Data Science Methodology、Data Science Hands-on with Open Source Tools 和 R 101。
数据科学 101(Data Science 101):
https://bigdatauniversity.com/courses/data-science-101/
数据科学方法(Data Science Methodology):
https://bigdatauniversity.com/courses/data-science-methodology-2/
使用开源工具上手数据科学(Data Science Hands-on with Open Source Tools):
https://bigdatauniversity.com/courses/data-science-hands-open-source-tools/
R 101:
https://bigdatauniversity.com/courses/r-101/
这个系列课程包含了使用 Python 和 R 的完整数据过程,此外,这里还有上手的实验环境。这些课程有极大的生产价值。根据你是否选修最后的 R 101 课程(这个课程对于本指南的目的而言并不是必需的),这个系列课程的时间长度为 13-18 小时。不幸的是,在主要的网站上没有关于该课程的评价数据可供我们分析,所以我们不能基于评价做出推荐,不过这个课程是免费的。
比赛
我们的第一名选择的是有 3068 个评论给出了加权平均分 4.5 的课程。下面让我们看看其它选择,按降序排序。
如果你打算通过 R 语言入门数据科学,你还能在下面找到一些以 R 为重点的课程。
数据科学入门(Introduction to Data Science (Data Hawk Tech/Udemy)
链接:
https://www.udemy.com/learn-data-science
该课程覆盖了数据科学的全过程,尽管深度有限。该课程相当简短(仅有三小时内容)。其简要地覆盖了 R 和 Python。它有 62 个评分,获得了 4.4 的加权平均分。价格依 Udemy 的折扣而波动。
应用数据科学:入门(Applied Data Science: An Introduction(Syracuse University/Open Education by Blackboard))
链接:
https://www.class-central.com/mooc/1806/open-education-by-blackboard-applied-data-science-an-introduction
该课程覆盖了数据科学的全过程,但并不均匀。其重点关注了基础统计学和 R 语言。对于本指南的目的而言,应用太多,对数据科学过程的关注不够。网络课程体验有所脱节。它获得了 6 个评论,得到了 4.33 的加权平均分。免费。
数据科学入门(Introduction To Data Science (Nina Zumel & John Mount/Udemy))
链接:
https://www.udemy.com/introduction-to-data-science
本课程仅覆盖了部分过程,但在数据准备和建模方面有很好的深度。6 小时内容的长度也还不错。使用 R 语言。它获得了 101 个评论,得到了 4.3 的加权平均分。价格依 Udemy 的折扣而波动。
使用 Python 的应用数据科学(Applied Data Science with Python (V2 Maestros/Udemy))
链接:
https://www.udemy.com/applied-data-science-with-python
该课程覆盖了数据科学的全过程,并在该过程的每个方面都有很好的深度覆盖。长度不错(8.5 小时内容长度)。使用 Python。它获得了 92 个评论,得到了 4.3 的加权平均分。价格依 Udemy 的折扣而波动。
V2 Maestros 有两个 Applied Data Science 课程版本,一个针对 Python,一个针对 R
Python 版:
https://www.udemy.com/applied-data-science-with-python
R 版:
https://www.udemy.com/applied-data-science-with-r
想成为数据科学家(Want to be a Data Scientist?)
链接:
https://www.udemy.com/want-to-be-a-data-scientist
该课程覆盖了数据科学的全过程,尽管覆盖深度有限。内容相当短,仅有 3 小时。有限的工具覆盖。它获得了 790 个评论,得到了 4.3 的加权平均分。价格依 Udemy 的折扣而波动。
数据到见解:数据分析入门(Data to Insight: an Introduction to Data Analysis (University of Auckland/FutureLearn))
链接:
https://www.class-central.com/mooc/2129/futurelearn-data-to-insight-an-introduction-to-data-analysis
覆盖的广度不清楚。声称重点是数据探索、发现和可视化。并不按需提供。内容长度为 24 小时——分成 8 周,每周 3 小时。它获得了 2 个评论,得到了 4 的加权平均分。课程免费,也提供付费的认证。
数据科学方向(Data Science Orientation (Microsoft/edX))
链接:
https://www.class-central.com/mooc/6405/edx-data-science-orientation
该课程使用 Excel。不过鉴于该课程是由微软提供的,所以也能理解。课程长度为 12-24 小时(6 周,每周 2-4 小时)。它获得了 40 个评论,得到了 3.95 的加权平均分。课程免费,也提供 25 美元的付费认证。
数据科学基础(Data Science Essentials (Microsoft/edX))
链接:
https://www.class-central.com/mooc/3954/edx-dat203x-data-science-and-machine-learning-essentials
该课程覆盖了数据科学的全过程,而且在每个方面都有不错的深度。覆盖了 R、Python 和 Azure ML(这是一个微软的机器学习平台)。有很多 1 星评价是因为该课程选择了 Azure ML 且导师教得不怎么好。该课程长度为 18-24 小时(为期 6 周,每周 3-4 小时)。它获得了 67 个评论,得到了 3.81 的加权平均分。课程免费,也提供 49 美元的付费认证。
以上两个课程来自微软在 edX 上的数据科学专业课程证书(Professional Program Certificate in Data Science):
https://www.edx.org/microsoft-professional-program-certficate-data-science
使用 R 的应用数据科学(Applied Data Science with R (V2 Maestros/Udemy))
链接:
https://www.udemy.com/applied-data-science-with-r
前面也提到了该课程的 Python 版本。该课程覆盖了数据科学的全过程,并在该过程的每个方面都有很好的深度覆盖。长度不错(11 小时内容长度)。使用 R。它获得了 212 个评论,得到了 3.8 的加权平均分。价格依 Udemy 的折扣而波动。
数据科学入门(Intro to Data Science (Udacity))
链接:
https://www.class-central.com/mooc/1480/udacity-intro-to-data-science
部分过程覆盖,但在其选择的主题上都有很好的深度。缺少探索方面,尽管 Udacity 在探索数据分析(EDA)方面有一个很好的全覆盖的课程:
https://www.class-central.com/mooc/1478/udacity-data-analysis-with-r
声称有 48 小时长度(为期 8 周,每周 6 小时),但我感觉要短一些。一些评论认为其缺乏高级内容。感觉组织不太好,使用 Python。它获得了 18 个评论,得到了 3.61 的加权平均分。免费。
使用 Python 的数据科学入门(Introduction to Data Science in Python (University of Michigan/Coursera))
链接:
https://www.coursera.org/learn/python-data-analysis
部分过程覆盖。没有建模和可视化,尽管密歇根大学在 Coursera 上教授的 Applied Data Science with Python Specialization:
https://www.coursera.org/specializations/data-science-python
课程的 #2 和 #3 覆盖了这些方面。但那对于本指南的目标的深度就太深了。使用 Python。时长 4 周。它获得了 15 个评论,得到了 3.6 的加权平均分。
数据驱动的决策(Data-driven Decision Making (PwC/Coursera))
链接:
https://www.coursera.org/learn/decision-making
部分覆盖(缺乏建模),重点关注商业应用。介绍了许多工具,包括 R、Python、Excel、SAS 和 Tableau。长度 4 周。它获得了 2 个评论,得到了 3.5 的加权平均分。有免费和付费的选择。
数据科学速成课程(A Crash Course in Data Science (Johns Hopkins University/Coursera))
链接:
https://www.coursera.org/learn/data-science-course
一个对于全过程的极简概览。对于本指南来说实在太简单了。时长 2 小时,它获得了 19 个评论,得到了 3.4 的加权平均分。有免费和付费的选择。
数据科学家工具箱(The Data Scientist』s Toolbox (Johns Hopkins University/Coursera))
链接:
https://www.coursera.org/learn/data-scientists-tools
一个对于全过程的极简概览。可看作是约翰·霍普金斯大学 Data Science Specialization 课程:https://www.coursera.org/specializations/jhu-data-science
的基础课程。声称有 4-16 小时内容(4 周,每周 1 到 4 小时),但有一位评论者说这个课程可以在 2 小时内学完。它获得了 182 个评论,得到了 3.22 的加权平均分。有免费和付费的选择。
数据管理和可视化(Data Management and Visualization (Wesleyan University/Coursera))
链接:
https://www.coursera.org/learn/data-visualization
部分覆盖(缺乏建模),长度 4 周。有很好的生产价值。使用 Python 和 SAS。它获得了 6 个评论,得到了 2.67 的加权平均分。有免费和付费的选择。
下面的课程截至 2017 年 1 月还没有评价。
CS 109 数据科学(CS109 Data Science (Harvard University))
链接:
http://cs109.github.io/2015/
全过程覆盖,深度也很棒(对本系列来说也许太过深度了)。一个 12 周全时长的研究生课程。课程方向很难,因为其并不是为在线使用而设计的。这是哈佛大学课程的实际录像。上面的数据科学过程信息图就来自这个课程。使用 Python。免费。
用于商业的数据分析入门(Introduction to Data Analytics for Business (University of Colorado Boulder/Coursera))
链接:
https://www.coursera.org/learn/data-analytics-business
部分过程覆盖(缺乏建模和可视化方面),重点关注商业。在这个课程中,数据科学过程被称为「信息-行动价值链(Information-Action Value chain)」。时长 4 周。描述了多种工具,尽管仅深度覆盖了 SQL。有免费和付费的选择。
数据科学入门(Introduction to Data Science (Lynda))
链接:
https://www.lynda.com/Big-Data-tutorials/Introduction-Data-Science/420305-2.html
完全过程覆盖,尽管覆盖深度有限。相当短,仅有 3 小时内容。介绍了 R 和 Python。费用由 Lynda 订阅确定。