随着行业继续重视其重要性,数据科学正变得越来越流行。 开源软件的最新进展已使这一学科为广泛的人们所接受。 在这本书中,我们展示了 Jupyter 笔记本如何与 Python 一起用于各种数据科学应用。 除了是进行数据探索的理想“虚拟游乐场”之外,Jupyter 笔记本同样适用于创建可重现的数据处理管道,可视化和预测模型。 通过将 Python 与 Jupyter 笔记本结合使用,数据科学提出的许多挑战变得易于概念化和实现。 这是通过利用 Python 库实现的,该库为更复杂的基础算法提供了抽象。 结果是数据科学对于初学者来说变得非常容易上手。 此外,Python 生态系统非常强大,并且每年都在增长。 因此,希望继续学习本书所涵盖主题的学生将找到极好的资源。
到本书结尾,您将具备使用 Python 分析数据和有效使用 Jupyter 笔记本的能力。
第 1 课, “Jupyter 基础知识”,涵盖了 Jupyter 中的数据分析基础。 我们将从 Jupyter 的用法说明和功能入手,例如魔术功能和制表符补全。 然后,我们将过渡到特定于数据科学的材料。 我们将在实时 Jupyter 笔记本中进行探索性分析。 我们将使用视觉辅助,例如散点图,直方图和提琴图,以加深我们对数据的理解。 我们还将执行简单的预测建模。
第 2 课,“数据清理和高级机器学习”显示了如何在 Jupyter 笔记本中训练预测模型。 我们将讨论如何计划机器学习策略。 本课还说明了机器学习术语,例如监督学习,非监督学习,分类和回归。 我们将讨论使用 Scikit-learn 和 Pandas 预处理数据的方法。
第 3 课, “Web 抓取和交互式可视化”解释了如何剪贴网页表,然后使用交互式可视化来研究数据。 我们将首先研究 HTTP 请求的工作方式,重点是 GET 请求及其响应状态代码。 然后,我们将进入 Jupyter 笔记本,并使用 Requests 库通过 Python 发出 HTTP 请求。 我们将看到 Jupyter 如何用于在笔记本中呈现 HTML 以及可以与之交互的实际网页。 发出请求后,我们将看到如何使用 BeautifulSoup 来解析 HTML 中的文本,并使用该库来爬取表格数据。
本书将要求以下最低硬件要求:
- 处理器:Intel i5(或等效版本)
- 内存:8GB RAM
- 硬盘:10 GB
- 互联网连接
在本书中,我们将使用 Python 和 Jupyter 笔记本运行代码。 此外,还需要 Anaconda 环境才能运行 Python 和 Jupyter 笔记本。 请确保在计算机上安装了以下软件:
- Python 3.5+
- Anaconda 4.3+
Anaconda 安装随附的 Python 库:
- Matplotlib 2.1.0 以上
- IPython 6.1.0+
- Requests 2.18.4+
- BeautifulSoup4 4.6.0+
- NumPy 1.13.1+
- Pandas 0.20.3+
- Scikit-learn 0.19.0+
- Seaborn 0.8.0+
- Bokeh 0.12.10+
需要手动安装的 Python 库:
- mlxtend
- version_information
- ipython-sql
- pdir2
- GraphViz
在开始本书之前,我们将安装由 Python 和 Jupyter 笔记本组成的 Anaconda 环境。
- 在浏览器中访问这个页面。
- 单击 Windows,Mac 或 Linux,具体取决于您使用的操作系统。
- 接下来,单击下载选项。 确保您下载了最新版本(3.6)。
- 下载后打开安装程序。
- 按照安装程序中的步骤就可以了! 您的 Anaconda 发行版已准备就绪。ix
-
搜索 Anaconda 提示符并打开它。
-
键入以下命令来更新 Conda 和 Jupyter:
#Update conda conda update conda #Update Jupyter conda update jupyter #install packages conda install numpy conda install pandas conda install statsmodels conda install matplotlib conda install seaborn
-
要从 Anaconda 提示符打开 Jupyter 笔记本,请使用以下命令:
jupyter notebook
这本书最适合对数据分析感兴趣的专业人士和学生。 涵盖的主题与各行各业的各种职位描述有关。 为了获得最佳体验,您应该具有编程基础知识和一些 Python 经验。 特别是,熟悉 Python 库(例如 Pandas,Matplotlib 和 Scikit-learn)将很有用。
在本书中,您将找到许多可以区分不同类型信息的文本样式。 以下是这些样式的一些示例,并解释了其含义。
文本中的代码字和 Python 语言关键字如下所示:“使用新创建的空白笔记本,单击顶部的单元格并键入print('hello world')
”
文件夹名称,文件名,文件扩展名,路径名,包括文本中的文件名,如下所示:“头文件boost/asio.hpp
包含使用 Asio 库所需的大多数类型和功能”。
代码块设置如下:
y = df['MEDV'].copy()
del df['MEDV']
df = pd.concat((y, df), axis=1)
新术语和重要词以粗体显示。 您在屏幕上看到的字词,例如在菜单或对话框中的字样,如下所示:“单击右上角的新建,然后从下拉菜单中选择一个内核 。”
重要的新编程术语用粗体显示。 概念术语以斜体显示。
有关主题的重要重要附加信息如下所示,如侧边栏中所示。
重要说明,提示和技巧如下所示。