跳转到主要内容

数据科学入门课程材料

项目描述

数据科学入门

欢迎来到BTW2401 - 数据科学与可视化课程材料!

这个叫做数据科学的东西是什么?

在商业领域,数据科学是一个大热点,这有很好的理由(Loukides, 2010)。

  • 几乎商业的每个方面都对外开放数据收集,无论是网络服务器日志、推文流、物联网传感器、在线交易还是其他来源。数据科学提供从这些数据中提取有用信息的技术,从而创造附加价值;
  • 在现代时代,每个想要吸引社区的公司、初创企业和非营利组织面临的问题是如何有效地使用数据。有效地使用数据需要与传统统计学不同的方法;即涉及统计学、计算机科学和领域专业知识的跨学科方法。数据科学就是这三个领域的综合方法。

本质上,数据科学是从大量数据中提取有用信息和知识的方法,以提高业务决策(Provost & Fawcett,2013)。随着决策的改善,生产力、市场价值和竞争优势也会提高。因此,数据科学的主要目标是实现整个公司的数据驱动决策,其中决策基于数据分析而非纯粹直觉。

将数据科学作为商业有效组成部分的过程中存在许多挑战,但那些成功的企业(如Google、Amazon、Facebook、LinkedIn)的回报是巨大的。

图:组织各种与数据相关过程的数据科学背景(Provost和Fawcett,2013)。

课程学习目标

本模块为学生提供了数据科学方法的实践介绍,重点是应用这些方法解决业务问题。在本课程结束时,预计学生将

  • 了解如何从数据科学的角度处理业务问题;
  • 理解从数据中提取有用知识的根本原理;
  • 理解机器学习的核心概念和术语;
  • 通过挖掘数据获得洞察力的实践经验。

在整个课程中,学生还将有机会学习一些技术技能

  • Python编程以及数据分析、可视化和建模的核心库的实践经验。
  • 与数据合作:收集、清洗和转换。
  • 创建和解释描述性统计。
  • 创建和解释数据可视化。
  • 机器学习的实践经验。

模块结构

模块结构包括课堂会议、自学任务和小组工作。课堂会议将涉及理论和实践(编程)工作的结合,侧重于后者。自学任务将用于阅读教材的选定章节。模块大纲如下表所示。

CW 日期 主题 链接
8 20.02 数据科学简介 Binder notebook slides
9 27.02 探索性数据分析 Binder notebook slides
10 5.03 数据清洗和特征工程 Binder notebook slides
11 12.03 随机森林简介 Binder notebook slides
12 19.03 随机森林深入探讨 Binder notebook slides
13 26.03 模型解释 Binder notebook slides
14 2.04 分类 Binder notebook slides
15 9.04 无课(复活节)
16 16.04 定义小组项目 Binder notebook slides
17 23.04 交叉验证和模型性能 Binder notebook slides
18 30.04 邻居和聚类 Binder notebook slides
19 7.05 维度和可视化 Binder notebook slides
20 14.05 自然语言处理I Binder notebook slides
21 21.05 无课(升天节)
22 28.05 自然语言处理II &小组项目提交 Open In Colabnotebookslides
23 4.06 项目展示 Binder notebookslides
24 11.06 深度学习 Open In Colab notebook slides
25 18.06 考试准备
26 25.06 考试准备
27 TBC 期末考试

注意:要下载笔记本,请右键单击徽章 notebook 并选择 "另存为...",并确保以 .ipynb 结尾保存。

云环境

我们将通过Python中的Jupyter笔记本教授大多数课程。每个课程的笔记本将通过本网站的链接提供。请注意,笔记本的一些部分被删除,以便你在课堂上跟随时填写。您可以直接在Binder上打开并运行它们,只需单击每个讲座笔记本顶部的Binder徽章(见以下示例)。我们强烈鼓励使用Binder,因为它不需要本地安装且免费运行。

Binder徽章: Binder

关于Binder的几点说明

  1. Binder可免费使用。
  2. 如果您编辑了一个笔记本,请确保您下载它,因为Binder不会保存您的更改。
  3. Binder会自动关闭超过10分钟无活动状态的用户会话(如果您打开浏览器窗口,这将算作“活动”)。
  4. Binder旨在为每个用户会话提供至少12小时的会话时间。超过这个时间,不能保证会话会继续运行。

下载和上传文件

由于Binder不会永久保存您的更改,您应该在会话结束时下载您所工作的笔记本。如果您想稍后继续会话,可以将它们重新上传到Binder。请参考下方的图片了解如何上传和下载文件。

图: 在binder环境中看到的JupyterLab上的下载和上传按钮。

本地环境

您还可以在笔记本电脑上本地安装数据科学讲座材料。一般来说,当使用Python时,建议使用虚拟环境。这可以确保您安装的包不会与您在其他项目中已安装的包发生冲突。

要安装数据科学讲座库,请运行以下命令

pip install dslectures

要安装JupyterLab(一个比Jupyter笔记本更高级的环境)请运行

pip install jupyterlab

然后确保您从GitHub仓库或仅下载缺少的笔记本下载所有课程材料。通常您需要复制所有材料,因为一些资源,如图像,并没有包含在笔记本中。

最后,要启动JupyterLab请运行

jupyter-lab

更新本地环境

由于我们在整个课程中都在开发材料,所以每次我们进入下一课时,您都需要更新您的本地环境。要这样做,只需在启动JupyterLab之前运行以下命令

pip install --upgrade dslectures

模块政策

课前

我们期望学生通过提前完成自学任务来为每一节课做好准备。

上课期间

请上课期间不要使用手机或社交媒体(Facebook、Twitter等);然而,我们鼓励您使用课堂Slack群组!我们还期望学生在课堂上积极提问并参与讨论。

学术诚信与诚实

您的作业、测验和考试答案必须是您自己的工作(除了团队项目,这是一个协作任务)。请不要作弊或剽窃他人的作品。

评估

更新:由于COVID-19大流行,我们决定从评估中删除期中考试,并将10分分配给团队项目。

本模块的评估包括两个部分,总分为100分:一个团队项目(50分)和一个最终书面考试(50分)。总分决定了本模块的最终成绩。

  1. 团队项目:学生将被分配到小团队中,并要求解决一个端到端的数据科学项目。分析结果必须以Jupyter笔记本的形式提交,然后进行15分钟的课堂口头报告。这项评估的最高分为50分,均匀分配在分析代码(25分)和报告(25分)上。
  2. 书面考试:最终书面考试将包括选择题和简答题,涵盖讲座和模块教科书的内容。学生不需要在考试中解决任何Python编程问题。考试的最高分为50分,最终日期将在6月29日和7月17日之间。

推荐参考书目

数据科学

  • F. Provost和T. Fawcett著,《数据科学商业应用》,(O’Reilly Media 2013年)。
  • J. VanderPlas著,《Python数据科学手册》,(O’Reilly Media 2016年)。

Provost & Fawcett 将作为本模块的 主要 教科书,并是全球150多所大学商业课程的标准数据科学教材。VanderPlas 的书籍是本模块 Python 编程方面的优秀参考书。

Python 编程

  • W. McKinney,《Python数据分析》 第2版 (O’Reilly Media 2017)。

在本模块中,我们将使用 Python 编程语言分析和可视化各种数据集。McKinney 的书籍是手边的好参考,涵盖了 NumPy 和 pandas 包的基础知识。

机器学习

  • A. Géron,《使用Scikit-Learn和TensorFlow动手学习机器学习》 (O’Reilly Media 2017)。
  • J. Howard,《程序员机器学习入门》 (fastAI 2018)。

尽管机器学习不是本课程唯一关注点,但Géron 的书籍或fastAI 的 MOOC 提供了合适的技术细节,以深入了解这个激动人心的领域。

Kaggle Learn

Kaggle Learn 是一个优秀的在线笔记本环境(类似于 Binder)的资源,可以复习 Python 基础、数据可视化或 pandas 等概念。

本课程大纲使用的资料

项目详情


下载文件

下载适合您平台文件的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

dslectures-0.0.15.tar.gz (22.7 kB 查看哈希)

上传

构建分布

dslectures-0.0.15-py3-none-any.whl (29.2 kB 查看哈希)

上传 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面