我们一直在听说数据科学家是21世纪最热门的职业,各行各业都缺乏具备足够数据技能的员工,但在学校学习数据科学的想法仍然非常新颖。大学应该教授哪些关于这个主题的内容?这只是现有数学、统计学或计算机科学课程的改编吗?这些课程会吸引非数学专业的学生吗?是否有足够的材料来设置辅修专业?
一所小型大学的一位数学教授(他也是我在研究生院时的老朋友)最近问了我这些问题,我想在这里我的最新建议专栏中解答它们。
什么是数据科学?
数据科学指的是利用数据提出和回答问题所需的一系列广泛技能。数据科学家的角色实际上被用来指代几个不同的职位:商业分析师、数据分析师、机器学习工程师、数据管道工程师、建模研究员等。
数据科学家需要知道如何: - 加载、清洗和检查数据 - 绘图并进行探索性分析 - 提出问题并检验假设 - 编写代码 - 将结果传达给非数据科学家。
此外,一些数据科学家会执行更专业的任务,例如构建机器学习模型。
在开始创建数据科学项目的学校中,许多学校混合使用了现有的数学、统计学和计算机科学课程。然而,当我还是学生时,我并没有在这些领域学到最有用的数据科学技能。(我主修数学,辅修计算机科学,并在一个与概率相关的领域获得了博士学位。我的目标是成为一名理论数学教授,直到博士快结束时才开始学习任何实用技能。)浏览我朋友大学提供的数学课程,没有一门课程特别突出,对数据科学特别有用。
虽然数据科学与数学、计算机科学和统计学相关,但我绝对建议设计新的课程(或至少是新的教学单元),而不是试图将现有课程硬塞到这个角色中。
最实用的学习内容
Python 或 R。我倾向于 Python,因为它是一种非常通用的语言,拥有许多不同用途的库(例如,如果学生决定成为软件工程师,Python 会比 R 有用得多)。然而,R 也不错,并且在学术统计社区中广泛使用。学习用于数据科学的 Python 时,您至少应该学习: - Pandas:一个用于处理表格数据的库。 - Matplotlib:一个用于绘制数据的库。 - Numpy:在 Python 中几乎用于所有数据处理的库。
SQL 是一种用于与表格数据(以行和列形式出现在表格中的数据)交互的语言,特别是与关系数据(多个相关表中的数据,例如客户和订单)交互。它被广泛使用,并且由于高度专业化,比大多数编程语言学习起来更快。SQL 是一项高就业技能。所需的技能包括如何编写查询和联接、什么是键以及如何设计数据库模式。无论您选择 R 还是 Python,都应该学习 SQL。
Jupyter Notebooks 提供了一个交互式环境,可以包含代码、数据、图表、文本和 LaTeX 方程式。它们是教学和在工作中进行数据科学的绝佳工具。许多教科书现在以 Jupyter Notebooks 的形式发布,例如这个有趣的图库中的那些。我通常在 Jupyter notebooks 中运行 Python。
探索性数据分析 包括加载和检查数据、创建图表、检查不同变量的类型以及处理缺失值。
机器学习 是关于使用数据进行预测(无论是预测销量、识别 CT 扫描中的癌症,还是 Google 地图从照片中识别房屋门牌号)。最重要的概念是拥有一个保留的测试集。一个很好的入门算法是决策树集成。
伦理 应该作为所有数据科学课程的一个组成部分包含进来,而不是作为一门单独的课程。案例研究特别有用,我在这篇文章中涉及了几个案例,并链接到了一些课程大纲和其他资源。
从头到尾完成一个项目:设计问题、运行实验并撰写报告。一个资源是 Jeremy 关于设计优秀数据产品的文章。考虑数据质量和验证是此过程的一部分。微软的种族主义聊天机器人 Tay 在发布不到一天后就被叫停,因为它开始发表纳粹言论,这提供了一个关于未充分考虑输入数据的案例研究。完成一个项目还可以包括通过构建一个简单的 Web 应用(例如Python 的 Flask)将其投入生产。
可参考的课程
- 加州大学伯克利分校的数据科学基础免费在线教科书
- Datacamp
- Wes McKinney 的利用 Python 进行数据分析
- Jake Van der Plaas 的Python 数据科学手册
我在 Twitter 上询问大家最喜欢的入门数据科学资源是什么,收到了非常多的回复(以一种好的方式!)。回复太多无法一一列出,但请随意查看。
问题:你们最喜欢的“数据科学入门”课程/博客/网站是什么?
—— Rachel Thomas (@math_rachel) 2018年2月25日
“大数据”呢?
我朋友的问题使用了大数据这个词,但我选择将其解释为一个关于数据科学的问题。围绕大数据的营销攻势是有害的,因为它误导性地暗示数据集的大小才是重要的。在许多情况下,拥有大数据解决方案的人们仍在寻找可以应用其技术的问题。
在大多数数据科学领域(包括人工智能),所需的数据量远低于许多人的认知。我们的一位学生仅使用了 30 张训练图像就创建了一个模型来区分板球照片和棒球照片!即使您拥有大型数据集,我也建议您处理一个较小的子集(直到您快完成时),因为这将使您在实验时能够更快地迭代。此外,几年前被认为是“大数据”的现在被认为是正常的,而且随着技术的进步,这种趋势一直在持续。
不仅限于数学专业
数据科学辅修专业对广泛的学科都很有价值:医学预科、经济学、社会学、商业、生物学等等。人们正在使用数据分析来研究从艺术策展到日本书法的一切。
加州大学伯克利分校的数据科学基础是该校有史以来增长最快的课程,2017年秋季有来自60个不同专业的1,500名学生选修。我可以看到未来所有专业的大学生都会至少修1到2门数据科学课程(或者就像基本的读写能力一样,成为必修课)。数据素养在工作场所和整个社会中的重要性将持续增加。听到越来越多的大学开始将数据科学纳入其课程,我感到很高兴!
这篇文章是我“问问数据科学家”建议专栏的一部分。以下是一些先前的文章: