提交 1e08bdf5 编写于 作者: W wizardforcel

2021-02-20 21:53:28

上级 0a41e336
......@@ -636,4 +636,4 @@ plt.show()
# 概括
在本章中,我们讨论了在偏差和方差之间保持平衡并最小化误差的重要性。 接下来,我们看到了 k 折交叉验证的概念以及如何在 Python 中实现它以防止过度拟合。 我们了解了在处理数据之前清理数据并对其进行标准化的重要性。 然后,我们看到了一个确定网站受欢迎页面的示例。 在[第 9 章](09.html)*Apache Spark-大数据机器学习*中,我们将使用 Apache Spark 学习大数据机器学习。
\ No newline at end of file
在本章中,我们讨论了在偏差和方差之间保持平衡并最小化误差的重要性。 接下来,我们看到了 k 折交叉验证的概念以及如何在 Python 中实现它以防止过度拟合。 我们了解了在处理数据之前清理数据并对其进行标准化的重要性。 然后,我们看到了一个确定网站受欢迎页面的示例。 在第 9 章和 *Apache Spark-大数据机器学习*中,我们将使用 Apache Spark 学习大数据机器学习。
\ No newline at end of file
......@@ -38,7 +38,7 @@ A / B 测试会将人们分成看到橙色按钮的人们和看到蓝色按钮
* **设计更改**:这些可以是按钮颜色,按钮位置或页面布局的更改。
* **UI 流程**:因此,也许您实际上是在改变购买渠道的工作方式以及人们在您的网站上结帐的方式,并且您实际上可以衡量其效果。
* **算法更改**:让我们考虑在[第 6 章](06.html)*推荐系统*中讨论过的电影推荐示例。 也许我想测试一种算法与另一种算法。 我真正关心的不是去依靠错误指标和我进行火车测试的能力,而是要去驱动购买或租赁,或者本网站上的任何内容。
* **算法更改**:让我们考虑在第 6 章*推荐系统*中讨论过的电影推荐示例。 也许我想测试一种算法与另一种算法。 我真正关心的不是去依靠错误指标和我进行火车测试的能力,而是要去驱动购买或租赁,或者本网站上的任何内容。
* A / B 测试可以让我直接测量该算法对我真正关心的最终结果的影响,而不仅仅是我预测别人已经看过的电影的能力。
* 您还可以梦想得到的任何其他东西,实际上,影响用户与您的网站交互方式的任何更改都值得测试。 也许甚至可以使网站更快,或者可以是任何东西。
......
......@@ -6,29 +6,29 @@
# 这本书涵盖的内容
[第 1 章](01.html "Chapter 1. Getting Started with Raw Data")*原始数据入门*教给您处理无组织数据的技术。 您还将学习如何从不同来源提取数据,以及如何清理和处理数据。
第 1 章*原始数据入门*教给您处理无组织数据的技术。 您还将学习如何从不同来源提取数据,以及如何清理和处理数据。
[第 2 章](02.html "Chapter 2. Inferential Statistics")*推论统计*超出了描述统计,您将在其中了解推论统计的概念,例如分布,不同的统计检验,统计检验中的错误以及置信区间 。
第 2 章*推论统计*超出了描述统计,您将在其中了解推论统计的概念,例如分布,不同的统计检验,统计检验中的错误以及置信区间 。
[第 3 章](03.html "Chapter 3. Finding a Needle in a Haystack")*在干草堆中找针*解释了什么是数据挖掘以及如何利用它。 数据中包含很多信息,但是找到有意义的信息是一门艺术。
第 3 章*在干草堆中找针*解释了什么是数据挖掘以及如何利用它。 数据中包含很多信息,但是找到有意义的信息是一门艺术。
[第 4 章](04.html "Chapter 4. Making Sense of Data through Advanced Visualization")*通过高级可视化*来了解数据,教您如何创建不同的数据可视化。 可视化是数据科学不可或缺的一部分; 它有助于传达无法通过查看原始数据看到的模式或关系。
第 4 章*通过高级可视化*来了解数据,教您如何创建不同的数据可视化。 可视化是数据科学不可或缺的一部分; 它有助于传达无法通过查看原始数据看到的模式或关系。
[第 5 章](05.html "Chapter 5. Uncovering Machine Learning")*揭露机器学习*,向您介绍机器学习的不同技术以及如何应用它们。 机器学习是业界新的流行语。 它用于 Google 的无人驾驶汽车等活动,并预测营销活动的有效性。
第 5 章*揭露机器学习*,向您介绍机器学习的不同技术以及如何应用它们。 机器学习是业界新的流行语。 它用于 Google 的无人驾驶汽车等活动,并预测营销活动的有效性。
[第 6 章](06.html "Chapter 6. Performing Predictions with a Linear Regression")*使用线性回归*执行预测可帮助您建立简单的回归模型,然后建立多个回归模型以及测试模型有效性的方法。 线性回归是当今业界用于模型构建的最流行技术之一。
第 6 章*使用线性回归*执行预测可帮助您建立简单的回归模型,然后建立多个回归模型以及测试模型有效性的方法。 线性回归是当今业界用于模型构建的最流行技术之一。
[第 7 章](07.html "Chapter 7. Estimating the Likelihood of Events")*估计事件的可能性*教您如何建立逻辑回归模型以及评估它的不同技术。 使用逻辑回归,您将能够学习如何估算事件发生的可能性。
第 7 章*估计事件的可能性*教您如何建立逻辑回归模型以及评估它的不同技术。 使用逻辑回归,您将能够学习如何估算事件发生的可能性。
[第 8 章](08.html "Chapter 8. Generating Recommendations with Collaborative Filtering")*通过协作过滤生成建议*教您创建并应用推荐模型。 它类似于网站(例如 Amazon),该网站能够建议您可能会在其页面上购买的商品。
第 8 章*通过协作过滤生成建议*教您创建并应用推荐模型。 它类似于网站(例如 Amazon),该网站能够建议您可能会在其页面上购买的商品。
[第 9 章](09.html "Chapter 9. Pushing Boundaries with Ensemble Models")*使用集合模型推展边界*使您熟悉集成技术,该技术用于组合多个模型的功能以增强预测的准确性。 这样做是因为有时单个模型不足以估计结果。
第 9 章*使用集合模型推展边界*使您熟悉集成技术,该技术用于组合多个模型的功能以增强预测的准确性。 这样做是因为有时单个模型不足以估计结果。
[第 10 章](10.html "Chapter 10. Applying Segmentation with k-means Clustering")*将分段与 k-means 聚类一起应用*教您有关 k-means 聚类及其使用方法。 细分在行业中广泛用于将相似的客户分组在一起。
第 10 章*将分段与 k-means 聚类一起应用*教您有关 k-means 聚类及其使用方法。 细分在行业中广泛用于将相似的客户分组在一起。
[第 11 章](11.html "Chapter 11. Analyzing Unstructured Data with Text Mining")*使用文本挖掘*分析非结构化数据,教您处理非结构化数据并弄清它们。 世界上非结构化数据比结构化数据更多。
第 11 章*使用文本挖掘*分析非结构化数据,教您处理非结构化数据并弄清它们。 世界上非结构化数据比结构化数据更多。
[第 12 章](12.html "Chapter 12. Leveraging Python in the World of Big Data")*在大数据世界中利用 Python* 在本章中教您将 Hadoop 和 Spark 与 Python 一起使用来处理数据。 随着数据规模的不断增长,已经出现了大数据技术来处理此类数据。
第 12 章*在大数据世界中利用 Python* 在本章中教您将 Hadoop 和 Spark 与 Python 一起使用来处理数据。 随着数据规模的不断增长,已经出现了大数据技术来处理此类数据。
# 这本书需要什么
......
......@@ -161,7 +161,7 @@
![Linear regression](img/B03450_05_06.jpg)
在此示例中,回归算法尝试创建前面的方程,该方程在预测学生的体重时具有最小的误差。 这是一个简单的线性回归的例子。 在[第 6 章](06.html "Chapter 6. Performing Predictions with a Linear Regression")*用线性回归*执行预测中,我们将进一步讨论具有多个变量的线性回归的概念。
在此示例中,回归算法尝试创建前面的方程,该方程在预测学生的体重时具有最小的误差。 这是一个简单的线性回归的例子。 在第 6 章*用线性回归*执行预测中,我们将进一步讨论具有多个变量的线性回归的概念。
# Logistic 回归
......
......@@ -2,7 +2,7 @@
Logistic 回归是一种回归分析,可帮助您根据某些给定参数估算事件发生的可能性。 它用作具有二进制结果的分类技术。 使用逻辑函数,根据解释性变量(预测变量)对描述单个试验可能结果的概率进行建模。
[第 5 章](05.html "Chapter 5. Uncovering Machine Learning")*发现机器学习*中,已经向您介绍了 *Logisitc 回归*。 在本章中,您将学习:
第 5 章*发现机器学习*中,已经向您介绍了 *Logisitc 回归*。 在本章中,您将学习:
* 使用 statsmodels 建立逻辑回归模型
* 使用 SciKit 建立逻辑回归模型
......@@ -10,7 +10,7 @@ Logistic 回归是一种回归分析,可帮助您根据某些给定参数估
# Logistic 回归
我们将使用 Titanic 数据集,该数据集在[第 3 章](03.html "Chapter 3. Finding a Needle in a Haystack")*在干草堆中查找针*中使用,以帮助我们建立逻辑回归模型。 由于我们已经探索了数据,因此我们将不进行任何探索性数据分析,因为我们已经有了该数据的上下文。
我们将使用 Titanic 数据集,该数据集在第 3 章*在干草堆中查找针*中使用,以帮助我们建立逻辑回归模型。 由于我们已经探索了数据,因此我们将不进行任何探索性数据分析,因为我们已经有了该数据的上下文。
这是泰坦尼克号数据集的字段描述的回顾:
......@@ -137,7 +137,7 @@ Logistic 回归是一种回归分析,可帮助您根据某些给定参数估
![Model evaluation](img/B03450_07_04.jpg)
从前面的图中可以看出,在`0``1`的概率附近密度较高,这是一个好兆头,表明该模型能够根据给定的数据预测某些模式。 这也表明密度是最高的,接近 0,这意味着很多人无法生存。 这证明了我们在[第 3 章](03.html "Chapter 3. Finding a Needle in a Haystack")*在干草堆中寻找针头*中执行的分析。
从前面的图中可以看出,在`0``1`的概率附近密度较高,这是一个好兆头,表明该模型能够根据给定的数据预测某些模式。 这也表明密度是最高的,接近 0,这意味着很多人无法生存。 这证明了我们在第 3 章*在干草堆中寻找针头*中执行的分析。
让我们看看基于男性的预测分布:
......@@ -154,7 +154,7 @@ Logistic 回归是一种回归分析,可帮助您根据某些给定参数估
![Model evaluation](img/B03450_07_05.jpg)
我们可以看到,模型预测表明,如果乘客是男性,那么与女性相比,生存机会要低。 我们的分析在[第 3 章](03.html "Chapter 3. Finding a Needle in a Haystack")*在干草堆中寻找针头*中也显示了这一点,其中发现女性的成活率更高。
我们可以看到,模型预测表明,如果乘客是男性,那么与女性相比,生存机会要低。 我们的分析在第 3 章*在干草堆中寻找针头*中也显示了这一点,其中发现女性的成活率更高。
现在,让我们看一下基于下层乘客的预测分布:
......
......@@ -162,7 +162,7 @@ movie_user_preferences['William']['Gone Girl']
## 皮尔森相关评分
我们已经在[第 2 章](02.html "Chapter 2. Inferential Statistics")*推论统计*中研究了皮尔逊相关性。 欧几里得距离是用户彼此分开的距离,而 Pearson 相关性考虑了两个人之间的关联。 我们将使用 Pearson 相关性来计算两个用户之间的相似度得分。
我们已经在第 2 章*推论统计*中研究了皮尔逊相关性。 欧几里得距离是用户彼此分开的距离,而 Pearson 相关性考虑了两个人之间的关联。 我们将使用 Pearson 相关性来计算两个用户之间的相似度得分。
让我们看看`Sam``Toby`如何相互关联:
......
......@@ -16,21 +16,21 @@
# 本书涵盖的内容
[第 1 章](1.html)*第一步*,介绍了 Jupyter Notebook,并演示了如何访问教程中运行的数据。
第 1 章*第一步*,介绍了 Jupyter Notebook,并演示了如何访问教程中运行的数据。
[第 2 章](2.html)*Data Munging* 介绍了所有关键的数据操作和转换技术,重点介绍了进行谋杀活动的最佳实践。
第 2 章*Data Munging* 介绍了所有关键的数据操作和转换技术,重点介绍了进行谋杀活动的最佳实践。
[第 3 章](3.html)*数据管道*讨论了可能改善数据科学项目结果的所有操作,使读者能够进行高级数据操作。
第 3 章*数据管道*讨论了可能改善数据科学项目结果的所有操作,使读者能够进行高级数据操作。
[第 4 章](4.html)*机器学习*提出了 scikit-learn 库中可用的最重要的学习算法。 将向读者展示实际应用以及需要检查的重要内容以及为从每种学习技术中获得最佳效果而需要调整的参数。
第 4 章*机器学习*提出了 scikit-learn 库中可用的最重要的学习算法。 将向读者展示实际应用以及需要检查的重要内容以及为从每种学习技术中获得最佳效果而需要调整的参数。
[第 5 章](5.html)*可视化,见解和结果*为您提供基础和中级的图形表示形式,对于表示和视觉理解复杂的数据结构和从机器学习中获得的结果是必不可少的。
第 5 章*可视化,见解和结果*为您提供基础和中级的图形表示形式,对于表示和视觉理解复杂的数据结构和从机器学习中获得的结果是必不可少的。
[第 6 章](6.html)*社交网络分析*为读者提供了处理代表社会关系和互动的数据的实用有效技巧。
第 6 章*社交网络分析*为读者提供了处理代表社会关系和互动的数据的实用有效技巧。
[第 7 章](7.html)*超越基础的深度学习*演示了如何从头开始构建卷积神经网络,介绍了该行业的所有工具以增强您的深度学习模型,并说明了*转移学习*以及如何使用递归神经网络对文本进行分类和预测序列的工作。
第 7 章*超越基础的深度学习*演示了如何从头开始构建卷积神经网络,介绍了该行业的所有工具以增强您的深度学习模型,并说明了*转移学习*以及如何使用递归神经网络对文本进行分类和预测序列的工作。
[第 8 章](8.html)*大数据火花*介绍了一种新的数据处理方式:水平扩展大数据。 这意味着运行已安装 Hadoop 和 Spark 框架的计算机集群。
第 8 章*大数据火花*介绍了一种新的数据处理方式:水平扩展大数据。 这意味着运行已安装 Hadoop 和 Spark 框架的计算机集群。
[附录](9.html)*增强 Python 基础*涵盖了一些 Python 示例和教程,这些示例和教程侧重于在数据科学项目上必不可少的关键语言功能。
......@@ -46,7 +46,7 @@
您还将需要以下内容:
* 装有 Windows,macOS 或 Linux 操作系统且至少有 8 GB 内存的计算机(如果您的计算机上只有 4 GB,则无论如何都可以使用大多数示例)
* 如果您想加快计算速度,可以在计算机上安装 GPU,您可以在[第 7 章](7.html)*超越基础*的深度学习中找到。
* 如果您想加快计算速度,可以在计算机上安装 GPU,您可以在第 7 章*超越基础*的深度学习中找到。
* Python 3.6 安装,最好通过 [Anaconda](https://www.anaconda.com/download/)
# 下载示例代码文件
......
......@@ -557,7 +557,7 @@ import seaborn as sns
# 网络 X
**NetworkX** 由美国洛斯阿拉莫斯国家实验室开发,是专门用于创建,处理,分析和图形表示真实网络数据的程序包(它可以轻松地使用由一百万个节点组成的图形进行操作, 边缘)。 除了用于图形的专用数据结构和精细的可视化方法(2D 和 3D)之外,它还为用户提供了许多标准的图形度量和算法,例如最短路径,中心,组件,社区,聚类和 PageRank。 我们将在[第 6 章](6.html)*社交网络分析*中主要使用此软件包:
**NetworkX** 由美国洛斯阿拉莫斯国家实验室开发,是专门用于创建,处理,分析和图形表示真实网络数据的程序包(它可以轻松地使用由一百万个节点组成的图形进行操作, 边缘)。 除了用于图形的专用数据结构和精细的可视化方法(2D 和 3D)之外,它还为用户提供了许多标准的图形度量和算法,例如最短路径,中心,组件,社区,聚类和 PageRank。 我们将在第 6 章*社交网络分析*中主要使用此软件包:
* [**网站**](http://networkx.github.io/)
* **打印时的版本**:2.1
......
......@@ -360,7 +360,7 @@ In: import numpy as np
['4.7' '3.2' '1.3' '0.2' 'Iris-setosa']]
```
这样的功能可以为随机梯度下降学习提供基本功能,如[第 4 章](4.html)*机器学习*中所述,我们将回到这段代码并进行扩展 通过引入一些更高级的示例,此示例。
这样的功能可以为随机梯度下降学习提供基本功能,如第 4 章*机器学习*中所述,我们将回到这段代码并进行扩展 通过引入一些更高级的示例,此示例。
# 访问其他数据格式
......
......@@ -128,7 +128,7 @@ In: import numpy as np
test_size=0.2)
```
我们导入了包含加州房价的数据集。 这是一个回归问题,因为`target`变量是房价(即实数)。 立即应用称为 **KNN 回归器**的简单回归器(以简单学习者为例;将在[第 4 章](4.html),[HTG5 机器学习),在测试数据集上的**平均绝对误差****MAE**)结尾。 如果您不能完全理解代码,请不要担心。 本书稍后将介绍 MAE 和其他回归变量。 现在,假设 MAE 代表错误。 因此,MAE 的值越低,解决方案越好:
我们导入了包含加州房价的数据集。 这是一个回归问题,因为`target`变量是房价(即实数)。 立即应用称为 **KNN 回归器**的简单回归器(以简单学习者为例;将在第 4 章,[HTG5 机器学习),在测试数据集上的**平均绝对误差****MAE**)结尾。 如果您不能完全理解代码,请不要担心。 本书稍后将介绍 MAE 和其他回归变量。 现在,假设 MAE 代表错误。 因此,MAE 的值越低,解决方案越好:
```py
In: from sklearn.neighbors import KNeighborsRegressor
......@@ -531,7 +531,7 @@ In: from sklearn import preprocessing
# 单变量离群值检测
为了解释数据点为何是异常值的原因,首先需要在数据中找到可能的异常值。 有很多方法-有些是单变量的(您可以一次观察每个奇异变量),而另一些是多变量的(他们同时考虑更多的变量)。 单变量方法通常基于 EDA 和可视化显示,例如箱形图(在本章的开头已介绍;我们将在[第 5 章](5.html)*可视化,见解中更详细地讨论箱形图)。 和结果*)。
为了解释数据点为何是异常值的原因,首先需要在数据中找到可能的异常值。 有很多方法-有些是单变量的(您可以一次观察每个奇异变量),而另一些是多变量的(他们同时考虑更多的变量)。 单变量方法通常基于 EDA 和可视化显示,例如箱形图(在本章的开头已介绍;我们将在第 5 章*可视化,见解中更详细地讨论箱形图)。 和结果*)。
通过检查单个变量来追踪异常值时,需要牢记一些经验法则。 实际上,离群值可能会被视为极值:
......@@ -704,7 +704,7 @@ In: # Draw the distribution and the detected outliers
![](img/b2cad254-de2e-4817-8caa-95590867dc13.png)
与前面的示例一样,在我们假设等于 0.05 的低污染的情况下,基于`EllipticEnvelope`的代码将预测异常值,并将其存储在数组中的方式与存储异常值的方式相同。 最后,是可视化(如前所述,我们将在[第 5 章](5.html)*可视化,见解和结果*中讨论所有可视化方法)。
与前面的示例一样,在我们假设等于 0.05 的低污染的情况下,基于`EllipticEnvelope`的代码将预测异常值,并将其存储在数组中的方式与存储异常值的方式相同。 最后,是可视化(如前所述,我们将在第 5 章*可视化,见解和结果*中讨论所有可视化方法)。
现在,让我们观察由散点图提供的结果,该散点图用于可视化数据的前两个`PCA`分量并标记外围观察。 关于我们示例中数据点的总体分布,由两个组成部分提供,它们约占数据方差的 62%,看来波士顿似乎有两个不同的房价集群,分别对应于 市场中存在高端和低端设备。 一般而言,对于`EllipticEnvelope`估算,数据中群集的存在并不是最佳的情况。 实际上,根据我们在使用合成斑点进行实验时已经注意到的结果,该算法仅指出了一个簇上的离群值-较小的一个。 鉴于这样的结果,有充分的理由相信我们刚刚收到了有偏见的,部分的回应,在将这些点视为异常值之前,需要进行一些进一步的调查。 Scikit-learn 软件包实际上将鲁棒的协方差估计方法(从根本上讲是一种统计方法)与一种扎根于机器学习的另一种方法集成在一起:`OneClassSVM`类。 现在,我们将继续进行试验。
......@@ -724,7 +724,7 @@ In: # Draw the distribution and the detected outliers
* **内核和等级**:它们相互关联。 通常,我们根据经验建议的值是默认值。 内核的类型应为`rbf`,其阶数应为 3。此类参数将通知`OneClassSVM`创建一系列跨越三个维度的分类气泡,甚至可以对最复杂的多维分布形式进行建模。
* **伽玛**:这是连接到 RBF 内核的参数。 我们建议您将其保持在尽可能低的水平。 一个好的经验法则是为其分配一个最小值,该最小值介于案例数和变量之间。 γ在 SVM 中的作用将在[第 4 章](4.html)*机器学习*中进一步说明。 现在就可以说,较高的 gamma 值倾向于使算法遵循数据,但更多地定义分类气泡的形状。
* **伽玛**:这是连接到 RBF 内核的参数。 我们建议您将其保持在尽可能低的水平。 一个好的经验法则是为其分配一个最小值,该最小值介于案例数和变量之间。 γ在 SVM 中的作用将在第 4 章*机器学习*中进一步说明。 现在就可以说,较高的 gamma 值倾向于使算法遵循数据,但更多地定义分类气泡的形状。
* **Nu** :此参数确定是否必须拟合精确的分布,或者是否通过不对当前数据示例进行过多调整来尝试获得一定程度的概括(如果存在异常值,则为必要选择)。 可以通过以下公式轻松确定:
*nu_estimate = 0.95 * outliers_fraction + 0.05*
......@@ -1504,7 +1504,7 @@ Scikit-learn 软件包提供了广泛的功能选择方法:
* 基于 L1 的功能选择
* 基于树的特征选择
方差,单变量和递归消除可以在`feature_selection`模块中找到。 其他是特定机器学习算法的副产品。 除了基于树的选择(将在[第 4 章](4.html)*机器学习*中提到)之外,我们还将介绍所有前面的方法,并指出它们如何帮助您改善您的 从数据中学习。
方差,单变量和递归消除可以在`feature_selection`模块中找到。 其他是特定机器学习算法的副产品。 除了基于树的选择(将在第 4 章*机器学习*中提到)之外,我们还将介绍所有前面的方法,并指出它们如何帮助您改善您的 从数据中学习。
# 基于特征差异的选择
......
......@@ -87,7 +87,7 @@ In: from sklearn.datasets import load_boston
boston.target, test_size=0.2, random_state=0)
```
现在已加载数据集,并已创建训练/测试对。 在接下来的几个步骤中,我们将训练回归变量并将其拟合到训练集中,并预测测试数据集中的目标变量。 然后,我们将使用 MAE 分数来衡量回归任务的准确性(如[第 3 章](3.html)*数据管道*中所述)。 至于评分函数,我们决定了平均绝对误差,以与误差本身的大小成正比地惩罚误差(使用更常见的均方误差会更多地强调较大的误差,因为误差是平方的):
现在已加载数据集,并已创建训练/测试对。 在接下来的几个步骤中,我们将训练回归变量并将其拟合到训练集中,并预测测试数据集中的目标变量。 然后,我们将使用 MAE 分数来衡量回归任务的准确性(如第 3 章*数据管道*中所述)。 至于评分函数,我们决定了平均绝对误差,以与误差本身的大小成正比地惩罚误差(使用更常见的均方误差会更多地强调较大的误差,因为误差是平方的):
```py
In: from sklearn.linear_model import LinearRegression
......@@ -106,7 +106,7 @@ In: %timeit regr.fit(X_train, y_train) Out: 544 µs ± 37.4 µs per loop
(mean ± std. dev. of 7 runs, 1000 loops each)
```
那真的很快! 结果当然不是那么好(如果您在本书前面的[第 1 章](1.html)*第一步*)。 但是,线性回归在性能与训练速度和简单性之间提供了很好的权衡。 现在,让我们看一下该算法的内幕。 为什么这么快却不那么准确? 答案在某种程度上是可以预期的-这是因为它是一种非常简单的线性方法。
那真的很快! 结果当然不是那么好(如果您在本书前面的第 1 章*第一步*)。 但是,线性回归在性能与训练速度和简单性之间提供了很好的权衡。 现在,让我们看一下该算法的内幕。 为什么这么快却不那么准确? 答案在某种程度上是可以预期的-这是因为它是一种非常简单的线性方法。
让我们简要地对此技术进行数学解释。 让我们将 *X(i)*命名为*第*个样本(实际上是具有数字特征的行向量),并将 *Y(i)*作为目标。 线性回归的目标是找到一个良好的权重(列)向量 *W* ,该向量最适合于与观察向量相乘时近似目标值,即 *X(i)* WɈY(i)*(请注意,这是点积)。 *W* 应该相同,并且对每个观察结果都是最佳的。 因此,解决以下等式变得容易:
......@@ -1398,7 +1398,7 @@ In: from sklearn.feature_extraction import text
# 完整的数据科学示例–文本分类
现在,这是一个完整的示例,可让您将每个文本放在正确的类别中。 我们将使用`20newsgroup`数据集,该数据集已在[第 1 章](1.html)*第一步*中引入。 为了使事情更真实,并防止分类器过度拟合数据,我们将删除电子邮件标头,页脚(例如签名)和引号。 另外,在这种情况下,目标是在两个相似的类别之间进行分类:`sci.med``sci.space`。 我们将使用准确性度量来评估分类:
现在,这是一个完整的示例,可让您将每个文本放在正确的类别中。 我们将使用`20newsgroup`数据集,该数据集已在第 1 章*第一步*中引入。 为了使事情更真实,并防止分类器过度拟合数据,我们将删除电子邮件标头,页脚(例如签名)和引号。 另外,在这种情况下,目标是在两个相似的类别之间进行分类:`sci.med``sci.space`。 我们将使用准确性度量来评估分类:
```py
In: import nltk
......
......@@ -7,7 +7,7 @@
* 使用`matplotlib`程序包中的基本`pyplot`功能
* 利用 pandas DataFrame 进行**探索性数据分析****EDA**
* 与 Seaborn 一起创建漂亮的交互式图表
* 可视化我们在[第 3 章](3.html)*数据管道*[第 4 章](4.html)*机器学习*中讨论的
* 可视化我们在第 3 章,*数据管道*和第 4 章*机器学习*中讨论的
的机器学习和优化过程
* 了解并以视觉方式传达变量的重要性及其与目标结果的关系
* 设置使用 HTTP 接受并提供预测作为服务的预测服务器
......@@ -850,7 +850,7 @@ In: from sklearn.learning_curve import validation_curve
# 随机森林功能的重要性
正如在[第 3 章](3.html)*数据管道*的结论中所讨论的那样,选择正确的变量可以通过减少噪声,估计方差和过多计算负担来改善学习过程 。 集成方法(例如,RandomForest)可以为您提供与数据集中其他变量一起使用时变量所扮演角色的不同视图。
正如在第 3 章*数据管道*的结论中所讨论的那样,选择正确的变量可以通过减少噪声,估计方差和过多计算负担来改善学习过程 。 集成方法(例如,RandomForest)可以为您提供与数据集中其他变量一起使用时变量所扮演角色的不同视图。
在这里,我们向您展示如何提取 RandomForest 和 Extra-Tree 模型的重要性。 重要性的计算方式最初由 Breiman,Friedman 等人在《分类和回归树》一书中描述。 1984 年。这是一个真正的经典,为分类树奠定了坚实的基础。 在本书中,重要性用*基尼重要性**平均减少* *杂质*来描述,这是由于特定变量平均超过 合奏中的所有树木。 换句话说,平均减少杂质是在该变量上分割的节点的总错误减少乘以路由到每个节点的样本数。 值得注意的是,根据这种重要性计算方法,减少错误不仅取决于误差度量-基尼或熵用于分类,而 MSE 用于回归,而且树顶的拆分也被认为更重要,因为它们涉及处理更多问题。 例子。
......
......@@ -504,4 +504,4 @@ In: my_sampled_social_network = nx.Graph()
在本章中,我们学习了社交网络是什么,包括社交网络的创建和修改,表示以及社交网络及其节点的一些重要度量。 最后,我们讨论了大图的加载和保存以及处理方法。
在本章中,几乎所有基本数据科学算法都已介绍。 在[第 4 章](4.html)*机器学习*中讨论了机器学习技术,并在此讨论了社交网络分析方法。 我们将在下一章*超越基础的深度学习*中最终讨论深度学习和神经网络的最先进,最前沿的技术。
\ No newline at end of file
在本章中,几乎所有基本数据科学算法都已介绍。 在第 4 章,*机器学习*中讨论了机器学习技术,并在此讨论了社交网络分析方法。 我们将在下一章*超越基础的深度学习*中最终讨论深度学习和神经网络的最先进,最前沿的技术。
\ No newline at end of file
......@@ -7,7 +7,7 @@
# 我为什么要写这本书?
正如我将在[第 1 章](01.html#CCNA1-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 1. Perspectives on Data Science from a Developer")*来自开发人员*的数据科学观点中更详细地解释的那样,我首先是拥有 20 多年开发经验的开发人员,他在构建以下方面的软件方面有丰富的经验 多样化的性质; 前端,后端,中间件等。 回顾这段时间,我意识到,正确地执行算法有多少是我首先想到的事情。 数据始终是别人的问题。 我很少需要分析它或从中提取见解。 充其量,我正在设计正确的数据结构以某种方式加载它,这将使我的算法更有效地运行并且代码更优雅且可重复使用。
正如我将在第 1 章*来自开发人员*的数据科学观点中更详细地解释的那样,我首先是拥有 20 多年开发经验的开发人员,他在构建以下方面的软件方面有丰富的经验 多样化的性质; 前端,后端,中间件等。 回顾这段时间,我意识到,正确地执行算法有多少是我首先想到的事情。 数据始终是别人的问题。 我很少需要分析它或从中提取见解。 充其量,我正在设计正确的数据结构以某种方式加载它,这将使我的算法更有效地运行并且代码更优雅且可重复使用。
但是,随着人工智能和数据科学革命的进行,对我来说很明显像我这样的开发人员需要参与其中,因此在 7 年前的 2011 年,我抓住了机会成为 IBM Watson 的首席架构师 核心平台用户界面和工具。 当然,我不假装自己不是机器学习或 NLP 方面的专家。 通过实践学习不能代替获得正式的学术背景。
......@@ -44,9 +44,9 @@
这本书包含两个大致相等长度的逻辑部分。 在上半年中,我列出了本书的主题,即弥合数据科学与工程学之间的鸿沟的必要性,其中包括有关我提议的 Jupyter + PixieDust 解决方案的深入详细信息。 下半年致力于将我们在上半年中学到的知识应用于四个行业案例。
[第 1 章](01.html#CCNA1-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 1. Perspectives on Data Science from a Developer")*开发人员对数据科学的观点*,我尝试通过我自己的经验来定义数据科学,并建立一个数据管道来在 Twitter 上执行情感分析 帖子。 我认为这是一项团队运动,并且在大多数情况下,数据科学团队和工程团队之间存在孤岛,这会导致不必要的摩擦,效率低下,最终导致无法充分发挥其潜力。 我还认为,数据科学将继续存在,并最终将成为当今所谓的计算机科学不可或缺的一部分(我想有一天会有新术语出现,例如*计算机 数据科学*更好地捕捉了这种双重性)。
第 1 章*开发人员对数据科学的观点*,我尝试通过我自己的经验来定义数据科学,并建立一个数据管道来在 Twitter 上执行情感分析 帖子。 我认为这是一项团队运动,并且在大多数情况下,数据科学团队和工程团队之间存在孤岛,这会导致不必要的摩擦,效率低下,最终导致无法充分发挥其潜力。 我还认为,数据科学将继续存在,并最终将成为当今所谓的计算机科学不可或缺的一部分(我想有一天会有新术语出现,例如*计算机 数据科学*更好地捕捉了这种双重性)。
[第 2 章](02.html#PNV62-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 2. Data Science at Scale with Jupyter Notebooks and PixieDust")*借助 Jupyter Notebook 和 PixieDust* 进行大规模数据科学,我开始深入研究流行的数据科学工具,例如 Python 及其专用于数据科学的开源库生态系统,以及 当然 Jupyter 笔记本。 我解释了为什么我认为 Jupyter 笔记本电脑将在未来几年成为大赢家。 我还从简单的`display()`方法开始介绍 PixieDust 开源库功能,该方法使用户可以通过构建引人注目的图表直观地浏览交互式用户界面中的数据。 使用此 API,用户可以从多个渲染引擎(例如 Matplotlib,Bokeh,Seaborn 和 Mapbox)中进行选择。 `display()`功能是 PixieDust MVP(最低可行产品)中的唯一功能,但是随着时间的流逝,当我与许多数据科学从业人员进行互动时,我为快速成为 PixieDust 工具箱添加了新功能:
第 2 章*借助 Jupyter Notebook 和 PixieDust* 进行大规模数据科学,我开始深入研究流行的数据科学工具,例如 Python 及其专用于数据科学的开源库生态系统,以及 当然 Jupyter 笔记本。 我解释了为什么我认为 Jupyter 笔记本电脑将在未来几年成为大赢家。 我还从简单的`display()`方法开始介绍 PixieDust 开源库功能,该方法使用户可以通过构建引人注目的图表直观地浏览交互式用户界面中的数据。 使用此 API,用户可以从多个渲染引擎(例如 Matplotlib,Bokeh,Seaborn 和 Mapbox)中进行选择。 `display()`功能是 PixieDust MVP(最低可行产品)中的唯一功能,但是随着时间的流逝,当我与许多数据科学从业人员进行互动时,我为快速成为 PixieDust 工具箱添加了新功能:
* **sampleData()**:一个简单的 API,可轻松将数据加载到熊猫和 Apache Spark DataFrames 中
* **wrangle_data()**:用于清理和按摩数据集的简单 API。 此功能包括使用正则表达式从非结构化文本中提取内容的功能,可将列分解为新的列。 `wrangle_data()` API 也可以基于预定义的模式提出建议。
......@@ -63,15 +63,15 @@ PixieDust 旅程
从本章中删除的一个关键信息是,PixieDust 首先是一个开源项目,它通过开发人员社区的贡献而生存和呼吸。 就像无数开源项目一样,随着时间的推移,我们可以期望将更多突破性功能添加到 PixieDust 中。
[第 3 章](03.html#12AK82-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 3. PixieApp under the Hood")*深入了解*的 PixieApp,我将带给读者关于 PixieApp 编程模型的深入了解,并通过分析 GitHub 数据的示例应用程序说明了每个概念。 我从对 PixieApp 的解剖结构的高级描述开始,包括其生命周期以及带有路由概念的执行流程。 然后,我详细介绍了开发人员如何使用常规 HTML 和 CSS 代码段构建仪表板的 UI,与分析进行无缝交互以及利用 PixieDust `display()` API 添加复杂的图表的细节。
第 3 章*深入了解*的 PixieApp,我将带给读者关于 PixieApp 编程模型的深入了解,并通过分析 GitHub 数据的示例应用程序说明了每个概念。 我从对 PixieApp 的解剖结构的高级描述开始,包括其生命周期以及带有路由概念的执行流程。 然后,我详细介绍了开发人员如何使用常规 HTML 和 CSS 代码段构建仪表板的 UI,与分析进行无缝交互以及利用 PixieDust `display()` API 添加复杂的图表的细节。
PixieApp 编程模型是弥合数据科学与工程学之间差距的工具策略的基石,因为它简化了分析操作的流程,从而增加了数据科学家与开发人员之间的协作,并缩短了应用程序的上市时间 。
[第 4 章](04.html#147LC1-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 4. Deploying PixieApps to the Web with the PixieGateway Server")*使用 PixieGateway 服务器*将 PixieApps 部署到 Web 上,我将讨论 PixieGateway 微服务,使开发人员可以将 PixieApps 发布为分析 Web 应用程序。 首先,我将展示如何作为 Kubernetes 容器在本地和云上快速部署 PixieGateway 微服务实例。 然后,我将介绍 PixieGateway 管理控制台功能,包括各种配置配置文件以及如何实时监视已部署的 PixieApps 实例和相关的后端 Python 内核。 我还具有 PixieGateway 的图表共享功能,该功能使用户可以将使用 PixieDust `display()` API 创建的图表转换为团队中任何人都可以访问的网页。
第 4 章*使用 PixieGateway 服务器*将 PixieApps 部署到 Web 上,我将讨论 PixieGateway 微服务,使开发人员可以将 PixieApps 发布为分析 Web 应用程序。 首先,我将展示如何作为 Kubernetes 容器在本地和云上快速部署 PixieGateway 微服务实例。 然后,我将介绍 PixieGateway 管理控制台功能,包括各种配置配置文件以及如何实时监视已部署的 PixieApps 实例和相关的后端 Python 内核。 我还具有 PixieGateway 的图表共享功能,该功能使用户可以将使用 PixieDust `display()` API 创建的图表转换为团队中任何人都可以访问的网页。
PixieGateway 是一项突破性的创新,具有可以显着加快分析操作速度的潜力,而这正是当今迫切需要的,可以充分利用数据科学的前景。 它代表了市场上已经存在的类似产品的开源替代品,例如 R-Studio 的 [Shiny Server](https://shiny.rstudio.com/deploy) 和 Plotly 的 [Dash](https://dash.plot.ly)
[第 5 章](05.html#173722-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 5. Best Practices and Advanced PixieDust Concepts")*最佳做法和高级 PixieDust 概念*,通过研究 PixieApp 编程模型的高级概念,我完成了 PixieDust 工具箱的深入研究:
第 5 章*最佳做法和高级 PixieDust 概念*,通过研究 PixieApp 编程模型的高级概念,我完成了 PixieDust 工具箱的深入研究:
* **@captureOutput 装饰器**:默认情况下,PixieApp 路由要求开发人员提供 HTML 片段,该片段将被注入到应用程序 UI 中。 当我们要调用不了解 PixieApp 架构的第三方 Python 库并直接将输出生成到 Notebook 时,这是一个问题。 `@captureOutput`通过自动重定向第三方 Python 库生成的内容并将其封装到适当的 HTML 片段中来解决此问题。
* **利用 Python 类继承获得更大的模块化和代码重用**:将 PixieApp 代码分解为可以使用 Python 类继承功能组合在一起的逻辑类。 我还将展示如何使用`pd_app`自定义属性调用外部 PixieApp。
......@@ -83,7 +83,7 @@ PixieGateway 是一项突破性的创新,具有可以显着加快分析操作
由于开放源代码模型具有透明的开发过程,并且不断增长的用户社区提供了一些有价值的反馈,因此随着时间的推移,我们能够优先考虑和实施许多这些高级功能。 我要说明的重点是遵循具有适当许可证的开源模型(PixieDust 使用此处提供的 [Apache 2.0 许可证](https://www.apache.org/licenses/LICENSE-2.0)运作良好。 它帮助我们发展了用户社区,从而为我们提供了必要的反馈,以优先考虑我们认为具有很高价值的新功能,并在某些情况下以 GitHub 拉取请求的形式提供了代码。
[第 6 章](06.html#1AT9A1-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 6. Image Recognition with TensorFlow")*使用 TensorFlow* 进行图像识别,我将深入探讨四个行业案例中的第一个。 我从机器学习的高级介绍开始,然后是机器学习的子领域深度学习和 TensorFlow 框架的介绍,该框架使构建神经网络模型更加容易。 然后我继续构建图像识别示例应用程序,包括四个部分的相关 PixieApp:
第 6 章*使用 TensorFlow* 进行图像识别,我将深入探讨四个行业案例中的第一个。 我从机器学习的高级介绍开始,然后是机器学习的子领域深度学习和 TensorFlow 框架的介绍,该框架使构建神经网络模型更加容易。 然后我继续构建图像识别示例应用程序,包括四个部分的相关 PixieApp:
* *第 1 部分*:使用预训练 ImageNet 模型构建图像识别 TensorFlow 模型。 我使用 TensorFlow for poets 教程,展示了如何构建分析以加载和评分神经网络模型。
* *第 2 部分*:创建一个 PixieApp,用于对*第 1 部分*中创建的分析进行操作。 该 PixieApp 从用户提供的网页 URL 中抓取图像,根据 TensorFlow 模型对图像评分,然后以图形方式显示结果。
......@@ -92,7 +92,7 @@ PixieGateway 是一项突破性的创新,具有可以显着加快分析操作
我决定使用 TensorFlow 进行深度学习图像识别,以开始一系列示例应用程序,因为这是一个日益流行的重要用例,并演示了如何构建模型并将其部署在同一笔记本中的应用程序中,这是对 缩小数据科学与工程之间差距的主题。
[第 7 章](07.html#1FLS42-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 7. Big Data Twitter Sentiment Analysis")*大数据 Twitter 情感分析*,我谈到在 Twitter 规模上进行自然语言处理。 在本章中,我将展示如何使用 IBM Watson Natural Language 了解基于云的服务对推文进行情感分析。 这非常重要,因为它提醒读者,重用托管托管服务而不是内部构建功能有时可能是一个有吸引力的选择。
第 7 章*大数据 Twitter 情感分析*,我谈到在 Twitter 规模上进行自然语言处理。 在本章中,我将展示如何使用 IBM Watson Natural Language 了解基于云的服务对推文进行情感分析。 这非常重要,因为它提醒读者,重用托管托管服务而不是内部构建功能有时可能是一个有吸引力的选择。
我首先介绍 Apache Spark 并行计算框架,然后继续分为四个部分构建应用程序:
......@@ -103,14 +103,14 @@ PixieGateway 是一项突破性的创新,具有可以显着加快分析操作
我认为读者(尤其是不熟悉 Apache Spark 的读者)将喜欢本章,因为它比上一章更容易理解。 关键要点是如何构建可通过连接到 Spark 集群的 Jupyter Notebook 进行扩展的分析。
[第 8 章](08.html#1MBG22-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 8. Financial Time Series Analysis and Forecasting")*金融时间序列分析和预测*,我谈论时间序列分析,它是数据科学中非常重要的领域,在行业中有许多实际应用。 本章首先深入探讨 NumPy 库,它是许多其他库(例如 pandas 和 SciPy)的基础。 然后,我继续构建示例应用程序,该应用程序分析了由历史库存数据组成的时间序列,分为两个部分:
第 8 章*金融时间序列分析和预测*,我谈论时间序列分析,它是数据科学中非常重要的领域,在行业中有许多实际应用。 本章首先深入探讨 NumPy 库,它是许多其他库(例如 pandas 和 SciPy)的基础。 然后,我继续构建示例应用程序,该应用程序分析了由历史库存数据组成的时间序列,分为两个部分:
* *第 1 部分*:提供时间序列的统计信息,包括各种图表,例如自相关函数(ACF)和部分自相关函数(PACF)
* *第 2 部分*:使用`statsmodels` Python 库,基于 ARIMA 算法构建预测模型
时间序列分析是数据科学的一个重要领域,我认为它被低估了。 在撰写本章时,我个人学到了很多东西。 我当然希望读者也能喜欢它,并且阅读它会激发人们对这个伟大话题的更多了解。 如果是这样,我还希望您能说服您在接下来的时间序列分析学习中尝试 Jupyter 和 PixieDust。
[第 9 章](09.html#1R42S2-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 9. US Domestic Flight Data Analysis Using Graphs")*使用图*的美国国内航班数据分析,我通过图的研究完成了这一系列行业用例。 我选择了一个用于分析航班延误的示例应用程序,因为该数据很容易获得,并且非常适合使用图形算法(嗯,为了全面披露,我可能还选择了它,[因为我已经编写了一个类似的应用程序来预测航班延误 基于我使用 Apache Spark MLlib 的天气数据](https://developer.ibm.com/clouddataservices/2016/08/04/predict-flight-delays-with-apache-spark-mllib-flightstats-and-weather-data))。
第 9 章*使用图*的美国国内航班数据分析,我通过图的研究完成了这一系列行业用例。 我选择了一个用于分析航班延误的示例应用程序,因为该数据很容易获得,并且非常适合使用图形算法(嗯,为了全面披露,我可能还选择了它,[因为我已经编写了一个类似的应用程序来预测航班延误 基于我使用 Apache Spark MLlib 的天气数据](https://developer.ibm.com/clouddataservices/2016/08/04/predict-flight-delays-with-apache-spark-mllib-flightstats-and-weather-data))。
我首先介绍图和相关图算法,包括几种最流行的图算法,例如广度优先搜索和深度优先搜索。 然后,我继续介绍用于构建示例应用程序的`networkx` Python 库。
......@@ -119,11 +119,11 @@ PixieGateway 是一项突破性的创新,具有可以显着加快分析操作
* *第 1 部分*:显示如何将美国国内航班数据加载到图形中。
* *第 2 部分*:创建`USFlightsAnalysis` PixieApp,该应用程序使用户可以选择始发地和目的地机场,然后根据选定的中心性显示两个机场之间最短路径的 Mapbox 地图
* *第 3 部分*:将数据浏览添加到 PixieApp,其中包括飞往选定起点机场的每家航空公司的各种统计信息
* *第 4 部分*:使用在[第 8 章](08.html#1MBG22-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 8. Financial Time Series Analysis and Forecasting")*金融时间序列分析和预测*中学习的技术,建立用于预测航班延误的 ARIMA 模型
* *第 4 部分*:使用在第 8 章*金融时间序列分析和预测*中学习的技术,建立用于预测航班延误的 ARIMA 模型
图论也是数据科学的另一个重要且不断发展的领域,本章很好地介绍了该系列文章,我希望该系列文章提供一组多样化且具有代表性的行业用例。 对于对使用大数据图形算法特别感兴趣的读者,我建议您查看 [Apache Spark GraphX](https://spark.apache.org/graphx),它使用非常简单的方法来实现许多图形算法 灵活的 API。
[第 10 章](10.html#21PMQ1-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 10. Final Thoughts")*最终思想*结束时,我给出了简要摘要并解释了我对 Drew's Conway Venn 图的理解。 然后,我将讨论 AI 和数据科学的未来,以及公司如何为 AI 和数据科学革命做好准备。 另外,我还列出了一些很好的参考资料供进一步学习。
第 10 章*最终思想*结束时,我给出了简要摘要并解释了我对 Drew's Conway Venn 图的理解。 然后,我将讨论 AI 和数据科学的未来,以及公司如何为 AI 和数据科学革命做好准备。 另外,我还列出了一些很好的参考资料供进一步学习。
[附录](10.html#23MNU1-6bf9b9b4cfde46e3ba53bd8d61355763 "Appendix A. PixieApp Quick-Reference")*PixieApp 快速参考*是开发人员快速参考指南,提供了所有 PixieApp 属性的摘要。 这将在适当的示例的帮助下解释各种注释,自定义 HTML 属性和方法。
......@@ -132,7 +132,7 @@ PixieGateway 是一项突破性的创新,具有可以显着加快分析操作
# 要充分利用这本书
* 遵循该示例所需的大多数软件都是开源的,因此可以免费下载。 全书提供了说明,从安装包括 Jupyter Notebook 服务器的 anaconda 开始。
*[第 7 章](07.html#1FLS42-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 7. Big Data Twitter Sentiment Analysis")*大数据 Twitter 情绪分析*中,示例应用程序需要使用 IBM Watson 云服务,包括 NLU 和 Streams Designer。 这些服务带有免费套餐,足以按照示例进行操作。
*第 7 章*大数据 Twitter 情绪分析*中,示例应用程序需要使用 IBM Watson 云服务,包括 NLU 和 Streams Designer。 这些服务带有免费套餐,足以按照示例进行操作。
## 下载示例代码文件
......
......@@ -14,7 +14,7 @@
### 注意
此解决方案仅关注工具支柱,而不关注数据和服务,尽管应该在[第 6 章](06.html#1AT9A1-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 6. Image Recognition with TensorFlow")*图像识别开始讨论示例应用程序时发现它们,但应该独立实现。 使用 TensorFlow*
此解决方案仅关注工具支柱,而不关注数据和服务,尽管应该在第 6 章*图像识别开始讨论示例应用程序时发现它们,但应该独立实现。 使用 TensorFlow*
# 为什么选择 Python?
......@@ -491,7 +491,7 @@ display(cars)
表格渲染器的可视化输出布局
要开始创建图表,首先在菜单中选择适当的类型。 开箱即用,PixieDust 支持六种类型的图表:**条形图****线图****散点图****饼图****映射****直方图**。 正如我们将在[第 5 章](05.html#173722-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 5. Best Practices and Advanced PixieDust Concepts")*最佳做法和高级 PixieDust 概念*中看到的那样,PixieDust 还提供了 API,可让您通过添加新菜单或向现有菜单添加选项来自定义这些菜单:
要开始创建图表,首先在菜单中选择适当的类型。 开箱即用,PixieDust 支持六种类型的图表:**条形图****线图****散点图****饼图****映射****直方图**。 正如我们将在第 5 章*最佳做法和高级 PixieDust 概念*中看到的那样,PixieDust 还提供了 API,可让您通过添加新菜单或向现有菜单添加选项来自定义这些菜单:
![Display – a simple interactive API for data visualization](img/00031.jpeg)
......@@ -519,7 +519,7 @@ PixieDust Charts 菜单
如前所述,PixieDust `display()`实际上并不创建图表,而是根据所选选项准备数据,并使用正确的参数来繁重地调用渲染器引擎的 API。 该设计背后的目标是使每种图表类型都支持多个渲染器,而无需任何额外的编码,从而为用户提供了尽可能多的探索自由。
只要安装了相应的库,PixieDust 即可使用以下渲染器。 对于未安装的渲染器,将在 PixieDust 日志中生成警告,并且相应的渲染器不会显示在菜单中。 我们将在[第 5 章](05.html#173722-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 5. Best Practices and Advanced PixieDust Concepts")*最佳实践和高级 PixieDust 概念*中详细介绍 PixieDust 登录。
只要安装了相应的库,PixieDust 即可使用以下渲染器。 对于未安装的渲染器,将在 PixieDust 日志中生成警告,并且相应的渲染器不会显示在菜单中。 我们将在第 5 章*最佳实践和高级 PixieDust 概念*中详细介绍 PixieDust 登录。
* [Matplotlib](https://matplotlib.org)
* [Seaborn](https://seaborn.pydata.org)
......@@ -631,7 +631,7 @@ Mapbox 图表的“选项”对话框
我们还需要在分析和仪表板之间建立数据接口,并且由于我们需要系统是实时的,因此我们选择使用 Apache Kafka 来流化分析结果格式的事件。
下图概括了一种方法,我将其称为**切换模式**,其中数据科学团队构建分析并将结果部署在数据接口层中。 然后,结果将由应用程序使用。 数据层通常由数据工程师处理,这是我们在[第 1 章](01.html#CCNA1-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 1. Perspectives on Data Science from a Developer")*开发人员对数据科学的观点*中讨论的角色之一:
下图概括了一种方法,我将其称为**切换模式**,其中数据科学团队构建分析并将结果部署在数据接口层中。 然后,结果将由应用程序使用。 数据层通常由数据工程师处理,这是我们在第 1 章*开发人员对数据科学的观点*中讨论的角色之一:
![Bridging the gap between developers and data scientists with PixieApps](img/00043.jpeg)
......@@ -754,7 +754,7 @@ PixieApps 非常适合快速构建单页应用程序和仪表板。 但是,您
### 注意
**注意**:我们将在[第 4 章](04.html#147LC1-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 4. Deploying PixieApps to the Web with the PixieGateway Server")*中使用 PixieGateway 服务器*将 PixieApps 部署到 Web 上,详细介绍 PixieGateway,包括如何在本地安装新实例 并在云上。
**注意**:我们将在第 4 章*中使用 PixieGateway 服务器*将 PixieApps 部署到 Web 上,详细介绍 PixieGateway,包括如何在本地安装新实例 并在云上。
为了演示此功能,我们使用之前创建的 DataFrame 汽车:
......
......@@ -1077,7 +1077,7 @@ ConsumerApp.run()
在本章中,我们介绍了 PixieApp 编程模型的基本构建模块,使您可以直接在 Notebook 中创建强大的工具和仪表板。
我们还通过展示如何构建 *GitHub Tracking* 示例应用程序(包括详细的代码示例)来说明 PixieApp 的概念和技术。 最佳做法和更高级的 PixieApp 概念将在[第 5 章](05.html#173722-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 5. Best Practices and Advanced PixieDust Concepts")*最佳做法和高级 PixieDust 概念*中进行介绍,包括事件,流和调试。
我们还通过展示如何构建 *GitHub Tracking* 示例应用程序(包括详细的代码示例)来说明 PixieApp 的概念和技术。 最佳做法和更高级的 PixieApp 概念将在第 5 章*最佳做法和高级 PixieDust 概念*中进行介绍,包括事件,流和调试。
到目前为止,您应该希望对 Jupyter Notebooks,PixieDust 和 PixieApps 如何使数据科学家和开发人员能够通过单一工具(例如 Jupyter Notebook)进行协作来帮助弥合数据科学家和开发人员之间的差距有所了解。
......
......@@ -347,7 +347,7 @@ jupyter kernelgateway --generate-config
## PixieGateway 架构
现在是重新查看[第 2 章](02.html#PNV62-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 2. Data Science at Scale with Jupyter Notebooks and PixieDust")*数据科学中使用 Jupyter Notebooks 和 PixieDust* 提出的 PixieGateway 体系结构图的好时机。 该服务器被实现为 [Jupyter 内核网关](https://github.com/jupyter/kernel_gateway)的自定义扩展(称为 Personality)。
现在是重新查看第 2 章*数据科学中使用 Jupyter Notebooks 和 PixieDust* 提出的 PixieGateway 体系结构图的好时机。 该服务器被实现为 [Jupyter 内核网关](https://github.com/jupyter/kernel_gateway)的自定义扩展(称为 Personality)。
反过来,PixieGateway 服务器提供了扩展点,以自定义某些行为,我们将在本章稍后讨论。
......@@ -390,7 +390,7 @@ PixieGateway 架构图
例如,以下代码必须位于其自己的单元格中才能成为运行代码:
正如我们在[第 3 章](03.html#12AK82-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 3. PixieApp under the Hood"), *PixieApp* 下看到的那样,可以在同一笔记本中声明多个 PixieApp,这些笔记本将用作子 PixieApp 或 主要的 PixieApp。 在这种情况下,我们需要确保它们是在自己的单元格中定义的,并且您不要尝试实例化它们并调用其`run()`方法。
正如我们在第 3 章, *PixieApp* 下看到的那样,可以在同一笔记本中声明多个 PixieApp,这些笔记本将用作子 PixieApp 或 主要的 PixieApp。 在这种情况下,我们需要确保它们是在自己的单元格中定义的,并且您不要尝试实例化它们并调用其`run()`方法。
规则是,只有一个主要的 PixieApp 类可以为其调用`run()`方法,并且包含该代码的单元格被 PixieGateway 视为运行代码。
......@@ -433,7 +433,7 @@ app.run()
## 发布应用程序
在本部分中,我们将在[第 3 章](03.html#12AK82-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 3. PixieApp under the Hood")*引擎盖下的 PixieApp,*中创建的 *GitHub Tracking* 应用程序发布到 PixieGateway 实例中。
在本部分中,我们将在第 3 章*引擎盖下的 PixieApp,*中创建的 *GitHub Tracking* 应用程序发布到 PixieGateway 实例中。
### 注意
......@@ -559,7 +559,7 @@ def do_search(self, query):
在此部分中,我们展示了如何轻松共享由`display()` API 创建的图表并将其发布为网页。
使用[第 2 章](02.html#PNV62-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 2. Data Science at Scale with Jupyter Notebooks and PixieDust")*借助 Jupyter Notebook 和 PixieDust 进行大规模数据科学的示例,*让我们加载汽车性能数据集并使用`display()`创建图表:
使用第 2 章*借助 Jupyter Notebook 和 PixieDust 进行大规模数据科学的示例,*让我们加载汽车性能数据集并使用`display()`创建图表:
```py
import pixiedust
......
......@@ -388,7 +388,7 @@ display(adapter)
**注意**[`MessageHubStreamingApp`与名为 Message Hub 的 IBM Cloud Kafka 服务一起使用](https://console.bluemix.net/docs/services/MessageHub/index.html#messagehub),但可以轻松地将其应用于任何其他 Kafka 服务。
如果您不熟悉 Apache Kafka,请不要担心,因为我们将在[第 7 章](07.html#1FLS42-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 7. Big Data Twitter Sentiment Analysis")*大数据 Twitter 情绪分析*中介绍这方面的内容。
如果您不熟悉 Apache Kafka,请不要担心,因为我们将在第 7 章*大数据 Twitter 情绪分析*中介绍这方面的内容。
通过此 PixieApp,用户可以选择与服务实例相关联的 Kafka 主题,并实时显示事件。 假设来自选定主题的事件有效负载使用 JSON 格式,则它将呈现从对事件数据进行采样中推断出的架构。 然后,用户可以选择一个特定的字段(必须为数字),并显示一个实时图表,显示该字段随时间变化的平均值。
......@@ -1297,6 +1297,6 @@ display(data)
在本章中,我们探讨了各种高级概念,工具和最佳实践,这些新概念,工具和最佳做法为我们的工具箱添加了更多工具,范围包括用于 PixieApps 的高级技术(流式处理,如何通过将第三方库与`@captureOutput`集成,实现路线, PixieApp 事件,以及使用`pd_app`更好的模块性,以实现诸如 PixieDebugger 之类的基本开发人员工具。 我们还介绍了如何使用 PixieDust `display()` API 创建自己的自定义可视化效果的详细信息。 我们还讨论了`pixiedust_node,`,它是 PixieDust 框架的扩展,使对 JavaScript 更熟悉的开发人员可以使用自己喜欢的语言处理数据。
在本书的其余部分中,我们将通过构建行业用例数据管道来充分利用所有这些经验教训,首先从[第 6 章](06.html#1AT9A1-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 6. Image Recognition with TensorFlow")中的*深度学习视觉识别*应用程序开始 ,*使用 TensorFlow* 进行图像识别。
在本书的其余部分中,我们将通过构建行业用例数据管道来充分利用所有这些经验教训,首先从第 6 章中的*深度学习视觉识别*应用程序开始 ,*使用 TensorFlow* 进行图像识别。
本书结尾的[附录](10.html#23MNU1-6bf9b9b4cfde46e3ba53bd8d61355763 "Appendix A. PixieApp Quick-Reference")*PixieApp 快速参考*中提供了 PixieApp 编程模型的开发人员快速参考指南。
\ No newline at end of file
......@@ -3,7 +3,7 @@
|   | *“数据是新的石油。”* |   |
|   | -*未知* |
在本章中,我们将研究 AI 和数据科学的两个重要领域:**自然语言处理****NLP**)和大数据分析。 对于支持的示例应用程序,我们重新实现了 Twitter 主题标签项目的*情绪分析,该项目在[第 1 章](01.html#CCNA1-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 1. Perspectives on Data Science from a Developer")和*开发人员对数据科学的观点*中进行了介绍, 我们利用 Jupyter Notebooks 和 PixieDust 构建实时的仪表板,以分析从相关的推文流到特定实体(例如公司提供的产品)的数据,以提供情感信息以及有关其他信息 从相同推文中提取的趋势实体。 在本章的最后,读者将学习如何将基于云的 NLP 服务(例如*,IBM Watson 自然语言理解*)集成到其应用程序中,以及如何在(Twitter)规模上使用诸如 Apache Spark。*
在本章中,我们将研究 AI 和数据科学的两个重要领域:**自然语言处理****NLP**)和大数据分析。 对于支持的示例应用程序,我们重新实现了 Twitter 主题标签项目的*情绪分析,该项目在第 1 章和*开发人员对数据科学的观点*中进行了介绍, 我们利用 Jupyter Notebooks 和 PixieDust 构建实时的仪表板,以分析从相关的推文流到特定实体(例如公司提供的产品)的数据,以提供情感信息以及有关其他信息 从相同推文中提取的趋势实体。 在本章的最后,读者将学习如何将基于云的 NLP 服务(例如*,IBM Watson 自然语言理解*)集成到其应用程序中,以及如何在(Twitter)规模上使用诸如 Apache Spark。*
与往常一样,我们将展示如何通过将实时仪表板实现为直接在 Jupyter Notebook 中运行的 PixieApp 来实现分析的操作。
......@@ -784,7 +784,7 @@ def enrich(self, data):
**注意**:当推文数据使用服务不支持的语言时,会发生最常见的异常。
我们使用[第 5 章](05.html#173722-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 5. Best Practices and Advanced PixieDust Concepts"),*最佳实践和高级 PixieDust 概念*中描述的`@Logger`装饰器将消息记录到 PixieDust 日志记录框架中。 提醒一下,您可以使用另一个单元格中的`%pixiedustLog`魔术来查看日志消息。
我们使用第 5 章,*最佳实践和高级 PixieDust 概念*中描述的`@Logger`装饰器将消息记录到 PixieDust 日志记录框架中。 提醒一下,您可以使用另一个单元格中的`%pixiedustLog`魔术来查看日志消息。
我们仍然需要更改架构元数据以包括以下新字段:
......@@ -1010,7 +1010,7 @@ streams_manager = StreamsManager()
## 创建 PixieApp
就像[第 6 章](06.html#1AT9A1-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 6. Image Recognition with TensorFlow"),*和 TensorFlow* 的图像识别一样,我们将再次使用`TemplateTabbedApp`类创建带有两个 PixieApps 的标签布局:
就像第 6 章,*和 TensorFlow* 的图像识别一样,我们将再次使用`TemplateTabbedApp`类创建带有两个 PixieApps 的标签布局:
* `TweetInsightApp`:让用户指定查询字符串并显示与之关联的实时仪表板
* `StreamingQueriesApp`:监视活动的结构化查询的进度
......@@ -1073,7 +1073,7 @@ Twitter 情绪仪表板的欢迎屏幕
* 折线图子图显示了按情感分布的推文
* 实体的词云
每个小部件都使用[第 5 章](05.html#173722-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 5. Best Practices and Advanced PixieDust Concepts"),*最佳做法和高级 PixieDust 概念*中记录的`pd_refresh_rate`属性,定期调用特定的路由。 我们还确保重新加载`parquet_df`变量以获取自上次以来到达的新数据。 然后在`pd_entity`属性中引用此变量以显示图表。
每个小部件都使用第 5 章,*最佳做法和高级 PixieDust 概念*中记录的`pd_refresh_rate`属性,定期调用特定的路由。 我们还确保重新加载`parquet_df`变量以获取自上次以来到达的新数据。 然后在`pd_entity`属性中引用此变量以显示图表。
以下代码显示了`search_query`路由的实现:
......@@ -1204,7 +1204,7 @@ print("Number of tweets received: {}".format(streams_manager.twitter_stream.list
**注意**:与往常一样,安装完成后,不要忘记重新启动内核。
我们使用[第 5 章](05.html#173722-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 5. Best Practices and Advanced PixieDust Concepts"),*最佳做法和高级 PixieDust 概念*中记录的`@captureOutput`装饰器,如下所示:
我们使用第 5 章,*最佳做法和高级 PixieDust 概念*中记录的`@captureOutput`装饰器,如下所示:
```py
import matplotlib.pyplot as plt
......
......@@ -542,7 +542,7 @@ import pixiedust
display(databases)
```
在以下 PixieDust 表的屏幕截图中,我们使用[第 2 章](02.html#PNV62-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 2. Data Science at Scale with Jupyter Notebooks and PixieDust")*Data Science with Jupyter Notebook 和 PixieDust* 中描述的**过滤器**按钮来访问 每个数据库中可用的数据集计数的统计信息,例如,最小值,最大值和平均值:
在以下 PixieDust 表的屏幕截图中,我们使用第 2 章*Data Science with Jupyter Notebook 和 PixieDust* 中描述的**过滤器**按钮来访问 每个数据库中可用的数据集计数的统计信息,例如,最小值,最大值和平均值:
![Statistical exploration of time series](img/00170.jpeg)
......
......@@ -6,7 +6,7 @@
在本章中,我们重点介绍一种称为图的基本计算机科学数据模型,以及在它们上常用的不同类型的算法。 作为数据科学家或开发人员,熟悉图形并迅速识别它们何时提供解决特定数据问题的正确解决方案非常重要。 例如,图形非常适合基于 GPS 的应用程序(例如 Google Maps),并考虑到各种参数(包括用户是开车,步行还是乘坐公共交通工具)找到从 A 点到 B 点的最佳路线 ,或者用户想要的是最短的路线,还是无论公路总距离如何都可以最大限度地利用高速公路的路线。 这些参数中的一些也可以是实时参数,例如交通状况和天气。 使用图的另一类重要应用是社交网络,例如 Facebook 或 Twitter,其中顶点表示个人,边表示关系,例如*是朋友**紧随*
我们将从对图形和相关图形算法的高级介绍开始本章。 然后,我们将介绍`networkx`,这是一个 Python 库,可轻松加载,操纵和可视化图形数据结构,并提供丰富的图形算法集。 我们将通过建立样本分析来继续讨论,该样本分析使用各种图形算法分析美国的航班数据,其中机场用作顶点,航班用作边线。 与往常一样,我们还将通过构建一个简单的仪表板 PixieApp 来对这些分析进行操作。 我们将通过使用在[第 8 章](08.html#1MBG22-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 8. Financial Time Series Analysis and Forecasting")*金融时间序列分析和预测*中学习到的时间序列技术构建历史模型来建立预测模型。
我们将从对图形和相关图形算法的高级介绍开始本章。 然后,我们将介绍`networkx`,这是一个 Python 库,可轻松加载,操纵和可视化图形数据结构,并提供丰富的图形算法集。 我们将通过建立样本分析来继续讨论,该样本分析使用各种图形算法分析美国的航班数据,其中机场用作顶点,航班用作边线。 与往常一样,我们还将通过构建一个简单的仪表板 PixieApp 来对这些分析进行操作。 我们将通过使用在第 8 章*金融时间序列分析和预测*中学习到的时间序列技术构建历史模型来建立预测模型。
# 图形简介
......@@ -957,7 +957,7 @@ def setup(self):
现在我们到达步骤,用户选择中心度索引以触发最短路径搜索。 每个复选框都有一个`pd_script`属性,该属性调用`compute_toggle_centrality_layer()`方法。 此方法负责使用通过调用*第 1 部分*中讨论的`compute_weight()`方法生成的`weight`参数调用 NetworkX `dijkastra_path()`方法。 此方法返回一个数组,其中每个机场构成最短路径。 然后使用此路径创建一个 JSON 对象,该对象包含 GeoJSON 有效载荷,作为要在地图上显示的一组线。
在这一点上,值得暂停讨论什么是层。 **层**是使用 [GeoJSON 格式](http://geojson.org)定义的,我们在[第 5 章](05.html#173722-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 5. Best Practices and Advanced PixieDust Concepts")*最佳做法和高级内容中对此进行了简要讨论 PixieDust 概念*。 提醒一下,GeoJSON 有效负载是具有特定架构的 JSON 对象,该架构除其他外还包含`geometry`元素,该元素定义了要绘制的对象的形状。
在这一点上,值得暂停讨论什么是层。 **层**是使用 [GeoJSON 格式](http://geojson.org)定义的,我们在第 5 章*最佳做法和高级内容中对此进行了简要讨论 PixieDust 概念*。 提醒一下,GeoJSON 有效负载是具有特定架构的 JSON 对象,该架构除其他外还包含`geometry`元素,该元素定义了要绘制的对象的形状。
例如,我们可以使用`LineString`类型定义一条直线,并为直线的两端定义一个经度和纬度坐标数组:
......@@ -1317,11 +1317,11 @@ def compute_delay_airline_df(self, airline, delay_org_airport):
# 第 4 部分–创建 ARIMA 模型以预测航班延误
[第 8 章](08.html#1MBG22-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 8. Financial Time Series Analysis and Forecasting")*金融时间序列分析和预测*中,我们使用时间序列分析建立了预测金融股票的预测模型。 实际上,我们可以在航班延误中使用相同的技术,因为毕竟我们还在这里处理时间序列,因此在本节中,我们将遵循完全相同的步骤。 对于每个目的地机场和可选航空公司,我们将构建一个熊猫 DataFrame,其中包含匹配的航班信息。
第 8 章*金融时间序列分析和预测*中,我们使用时间序列分析建立了预测金融股票的预测模型。 实际上,我们可以在航班延误中使用相同的技术,因为毕竟我们还在这里处理时间序列,因此在本节中,我们将遵循完全相同的步骤。 对于每个目的地机场和可选航空公司,我们将构建一个熊猫 DataFrame,其中包含匹配的航班信息。
### 注意
**注意**:我们将再次使用`statsmodels`库。 如果尚未安装,请确保进行安装,有关更多信息,请参考[第 8 章](08.html#1MBG22-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 8. Financial Time Series Analysis and Forecasting")*金融时间序列分析和预测*
**注意**:我们将再次使用`statsmodels`库。 如果尚未安装,请确保进行安装,有关更多信息,请参考第 8 章*金融时间序列分析和预测*
例如,让我们集中研究以`BOS`为目的地的所有达美航空(`DL`)航班:
......@@ -1365,7 +1365,7 @@ plt.show()
ARRIVAL_DELAY 数据的部分自相关
从前面的图表中,我们可以假设数据具有趋势和/或季节性,并且不稳定。 使用我们在[第 8 章](08.html#1MBG22-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 8. Financial Time Series Analysis and Forecasting")*金融时间序列分析和预测*中介绍的对数差异技术,对序列进行转换并使用 PixieDust `display()`方法将其可视化,如 以下代码:
从前面的图表中,我们可以假设数据具有趋势和/或季节性,并且不稳定。 使用我们在第 8 章*金融时间序列分析和预测*中介绍的对数差异技术,对序列进行转换并使用 PixieDust `display()`方法将其可视化,如 以下代码:
### 注意
......@@ -1438,7 +1438,7 @@ plt.show()
PARI 图表以获取 ARRIVAL_DELAY 数据的对数差异
作为[第 8 章](08.html#1MBG22-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 8. Financial Time Series Analysis and Forecasting")*金融时间序列分析和预测*的提醒,ARIMA 模型由三个阶组成: *p**d**q* 。 从前面的两个图表中,我们可以推断出要构建的 ARIMA 模型的这些顺序:
作为第 8 章*金融时间序列分析和预测*的提醒,ARIMA 模型由三个阶组成: *p**d**q* 。 从前面的两个图表中,我们可以推断出要构建的 ARIMA 模型的这些顺序:
* **自回归阶数 p 为 1** :对应于 ACF 第一次越过有效水平
* **积分顺序 d 为 1** :我们必须做一次对数差异
......
......@@ -6,7 +6,7 @@
再次感谢读者,祝贺您阅读这些长章节并尝试了部分或全部示例代码的漫长旅程。 我试图在深入研究特定主题的基础知识(例如深度学习或时间序列分析)与为从业者提供全面的示例代码之间提供良好的组合。 我特别希望您发现在单个 Jupyter Notebook 中将数据科学分析与 PixieApp 应用程序编程模型紧密集成的想法有趣且新颖。 但是,最重要的是,我希望您发现它有用,并且可以在您自己的项目中以及与您自己的团队一起重用。
[第 1 章](01.html#CCNA1-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 1. Perspectives on Data Science from a Developer")*开发人员对数据科学的观点*的开头,我使用了 Drew's Conway Venn 图(这是我的最爱之一)来表示什么是数据科学。 以及为什么数据科学家被广泛认为是独角兽。 考虑到 Drew Conway 的所有方面,我想扩展此图,以表示开发人员在数据科学领域的重要且不断增长的作用,如下图所示:
第 1 章*开发人员对数据科学的观点*的开头,我使用了 Drew's Conway Venn 图(这是我的最爱之一)来表示什么是数据科学。 以及为什么数据科学家被广泛认为是独角兽。 考虑到 Drew Conway 的所有方面,我想扩展此图,以表示开发人员在数据科学领域的重要且不断增长的作用,如下图所示:
![Final Thoughts](img/00258.jpeg)
......@@ -18,7 +18,7 @@ Drew 的数据科学 Conway Venn 图现在包括开发人员
这是我非常喜欢的部分,因为我无需表达准确性就可以表达前瞻性意见,因为根据定义,这些只是我的观点![Forward thinking – what to expect for AI and data science](img/00259.jpeg)
正如我在[第 1 章](01.html#CCNA1-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 1. Perspectives on Data Science from a Developer")*开发人员对数据科学的观点*中所解释的那样,我相信 AI 和数据科学将继续存在,它们将继续对现有行业造成破坏。 在可预见的未来,最有可能以加速的速度发展。 这肯定会影响工作的总数,并且类似于我们过去看到的其他技术革命(农业,工业,信息等),有些将消失,而新的将被创造。
正如我在第 1 章*开发人员对数据科学的观点*中所解释的那样,我相信 AI 和数据科学将继续存在,它们将继续对现有行业造成破坏。 在可预见的未来,最有可能以加速的速度发展。 这肯定会影响工作的总数,并且类似于我们过去看到的其他技术革命(农业,工业,信息等),有些将消失,而新的将被创造。
2016 年,IBM 董事长兼首席执行官 Ginny Rometty 在[致唐纳德·特朗普总统的一封信](https://www.ibm.com/blogs/policy/ibm-ceo-ginni-romettys-letter-u-s-president-elect)中,讨论了通过创建她称为“新领”的新型工作来更好地为 AI 革命做准备的需要,如以下摘录所示:
......@@ -26,7 +26,7 @@ Drew 的数据科学 Conway Venn 图现在包括开发人员
如果我们成功地实现了数据科学的民主化,那么这些“新领子”工作就只能创造足够的数量,因为数据科学是 AI 的命脉,每个人都需要以某种能力参与进来; 开发人员,业务线用户,数据工程师等。 不难想象,对这些新型工作的需求将如此之大,以至于传统的学术途径将无法满足需求。 相反,该行业将有责任通过制定旨在重新培训所有可能面临裁员风险的现有工人的新计划来填补这一空白。 将会出现[类似于 Apple 的 *Everyone Can Code* 程序的新程序](https://www.apple.com/everyone-can-code); 也许像*之类的任何人都可以做数据科学*。 我还认为 **MOOC****大规模开放在线课程**的缩写)将发挥更大的作用,今天,由于主要 MOOC 参与者之间建立了许多合作关系, 例如 Coursera 和 edX,以及像 IBM 这样的公司(请参阅[这个页面](https://www.coursera.org/ibm))。
公司还可以做其他事情,以便更好地为 AI 和数据科学革命做准备。 在[第 1 章](01.html#CCNA1-6bf9b9b4cfde46e3ba53bd8d61355763 "Chapter 1. Perspectives on Data Science from a Developer")*开发人员对数据科学的观点*中,我讨论了数据科学策略的三个支柱,它们可以帮助我们实现这一宏伟的目标:数据 ,服务和工具。
公司还可以做其他事情,以便更好地为 AI 和数据科学革命做准备。 在第 1 章*开发人员对数据科学的观点*中,我讨论了数据科学策略的三个支柱,它们可以帮助我们实现这一宏伟的目标:数据 ,服务和工具。
在服务方面,公有云的高速增长在很大程度上促进了多个领域的高质量服务的整体增长:数据持久性,认知,流传输等。 亚马逊,Facebook,谷歌,IBM 和 Microsoft 等提供商在以服务为先的方法以及强大的平台支持下为服务开发者提供一致体验的创新能力建设中发挥着领导作用。 随着越来越多的强大服务以越来越快的速度发布,这一趋势将继续加速。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册