描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111646693
编辑推荐
本书对上一版内容进行了全面扩展和更新,将帮助你使用常见的Python库成功地进行数据科学操作。本书提供了对Python核心软件包的前沿见解,包括新版的Jupyter Notebook、Numpy、pandas和Scikit-learn等。
本书提供大量详细的示例和大型混合数据集,可以帮助你掌握数据收集、数据改写和分析、可视化和活动报告等基本统计技术。此外,书中还介绍了机器学习算法、分布式计算、预测模型调参和自然语言处理等高级数据科学主题,还介绍了深度学习和梯度提升方案(如XGBoost、LightGBM和CatBoost)等内容。
通过本书的学习,你将全面了解主要的机器学习算法、图分析技术以及所有可视化工具和部署工具,使你可以更轻松地向数据科学专家和商业用户展示数据处理结果。
本书提供大量详细的示例和大型混合数据集,可以帮助你掌握数据收集、数据改写和分析、可视化和活动报告等基本统计技术。此外,书中还介绍了机器学习算法、分布式计算、预测模型调参和自然语言处理等高级数据科学主题,还介绍了深度学习和梯度提升方案(如XGBoost、LightGBM和CatBoost)等内容。
通过本书的学习,你将全面了解主要的机器学习算法、图分析技术以及所有可视化工具和部署工具,使你可以更轻松地向数据科学专家和商业用户展示数据处理结果。
通过阅读本书,你将学到:
在Windows、Mac和Linux系统上安装数据科学工具箱
使用Scikit-learn库提供的核心机器学习方法
通过数据操作、修复和探索来解决数据科学问题
学习先进的数据探索和操作技术
优化机器学习模型,以获得*佳性能
进行图的探索和聚集分析,充分利用数据中的联系和连接
内容简介
本书首先介绍如何设置基本的数据科学工具箱,然后带你进入数据改写和预处理阶段,这一部分主要是阐明所有与核心数据科学活动相关的数据分析过程,如数据加载、转换、修复以及数据探索和处理等。通过主要的机器学习算法、图形分析技术,以及所有易于表现结果的可视化工具,实现对数据科学的概述。
本书对上一版内容进行了全面拓展和更新,涵盖新版的Jupyter Notebook、NumPy、pandas和Scikit-learn等的新改进。此外,还介绍了深度学习(借助在Theano和Tensorflow平台上运行的Keras库)、漂亮的可视化(使用Seaborn和 ggplot)和Web部署(使用bottle)等新内容。
本书行文过程以数据科学项目为主体,辅以整洁的代码和简化的示例,能帮助你理解与项目相关的潜在原理和实际数据集。
本书对上一版内容进行了全面拓展和更新,涵盖新版的Jupyter Notebook、NumPy、pandas和Scikit-learn等的新改进。此外,还介绍了深度学习(借助在Theano和Tensorflow平台上运行的Keras库)、漂亮的可视化(使用Seaborn和 ggplot)和Web部署(使用bottle)等新内容。
本书行文过程以数据科学项目为主体,辅以整洁的代码和简化的示例,能帮助你理解与项目相关的潜在原理和实际数据集。
目 录
译者序
前言
作者简介
审阅者简介
第1章 新手上路1
1.1 数据科学与Python简介1
1.2 Python的安装2
1.2.1 Python 2还是Python 33
1.2.2 分步安装4
1.2.3 安装必要的工具包4
1.2.4 工具包升级6
1.3 科学计算发行版6
1.3.1 Anaconda7
1.3.2 使用conda安装工具包7
1.3.3 Enthought Canopy8
1.3.4 WinPython8
1.4 虚拟环境8
1.5 核心工具包一瞥11
1.6 Jupyter简介18
1.6.1 快速安装与初次使用21
1.6.2 Jupyter魔术命令22
1.6.3 直接从Jupyter Notebook安装软件包23
1.6.4 查看新的JupyterLab环境24
1.6.5 Jupyter Notebook怎样帮助数据科学家24
1.6.6 Jupyter的替代版本29
1.7 本书使用的数据集和代码30
1.7.1 Scikit-learn小规模数据集30
1.7.2 MLdata.org和其他公共资源库32
1.7.3 LIBSVM Data样本33
1.7.4 直接从CSV或文本文件加载数据33
1.7.5 Scikit-learn样本生成器35
1.8 小结36
第2章 数据改写37
2.1 数据科学过程37
2.2 使用pandas进行数据加载与预处理39
2.2.1 数据快捷加载39
2.2.2 处理问题数据41
2.2.3 处理大数据集43
2.2.4 访问其他的数据格式46
2.2.5 合并数据48
2.2.6 数据预处理51
2.2.7 数据选择55
2.3 使用分类数据和文本数据57
2.3.1 特殊的数据类型—文本59
2.3.2 使用Beautiful Soup抓取网页64
2.4 使用Numpy进行数据处理65
2.4.1 NmuPy中的N维数组65
2.4.2 NmuPy ndarray对象基础66
2.5 创建Numpy数组68
2.5.1 从列表到一维数组68
2.5.2 控制内存大小69
2.5.3 异构列表70
2.5.4 从列表到多维数组70
2.5.5 改变数组大小71
2.5.6 利用NumPy函数生成数组73
2.5.7 直接从文件中获得数组73
2.5.8 从pandas提取数据74
2.6 NumPy快速操作和计算75
2.6.1 矩阵运算77
2.6.2 NumPy数组切片和索引78
2.6.3 NumPy数组堆叠80
2.6.4 使用稀疏数组81
2.7 小结83
第3章 数据科学流程84
3.1 EDA简介84
3.2 创建新特征87
3.3 维数约简89
3.3.1 协方差矩阵89
3.3.2 主成分分析90
3.3.3 一种用于大数据的PCA变型—RandomizedPCA93
3.3.4 潜在因素分析94
3.3.5 线性判别分析94
3.3.6 潜在语义分析95
3.3.7 独立成分分析95
3.3.8 核主成分分析96
3.3.9 T-分布邻域嵌入算法97
3.3.10 受限波尔兹曼机98
3.4 异常检测和处理99
3.4.1 单变量异常检测99
3.4.2 EllipticEnvelope101
3.4.3 OneClassSVM104
3.5 验证指标106
3.5.1 多标号分类107
3.5.2 二值分类109
3.5.3 回归110
3.6 测试和验证110
3.7 交叉验证113
3.7.1 使用交叉验证迭代器115
3.7.2 采样和自举方法116
3.8 超参数优化118
3.8.1 建立自定义评分函数120
3.8.2 减少网格搜索时间121
3.9 特征选择123
3.9.1 基于方差的特征选择123
3.9.2 单变量选择124
3.9.3 递归消除125
3.9.4 稳定性选择与基于L1的选择126
3.10 将所有操作包装成工作流程127
3.10.1 特征组合和转换链接128
3.10.2 构建自定义转换函数130
3.11 小结131
第4章 机器学习132
4.1 准备工具和数据集132
4.2 线性和逻辑回归134
4.3 朴素贝叶斯136
4.4 K近邻137
4.5 非线性算法139
4.5.1 基于SVM的分类算法140
4.5.2 基于SVM的回归算法141
4.5.3 调整SVM(优化)142
4.6 组合策略144
4.6.1 基于随机样本的粘贴策略144
4.6.2 基于弱分类器的Bagging策略144
4.6.3 随机子空间和随机分片145
4.6.4 随机森林和Extra-Trees145
4.6.5 从组合估计概率147
4.6.6 模型序列—AdaBoost148
4.6.7 梯度树提升149
4.6.8 XGBoost150
4.6.9 LightGBM152
4.6.10 CatBoost155
4.7 处理大数据158
4.7.1 作为范例创建一些大数据集158
4.7.2 对容量的可扩展性159
4.7.3 保持速度161
4.7.4 处理多样性162
4.7.5 随机梯度下降概述163
4.8 自然语言处理一瞥164
4.8.1 词语分词164
4.8.2 词干提取165
4.8.3 词性标注166
4.8.4 命名实体识别166
4.8.5 停止词167
4.8.6 一个完整的数据科学例子—文本分类168
4.9 无监督学习概览169
4.9.1 K均值算法169
4.9.2 基于密度的聚类技术—DBSCAN172
4.9.3 隐含狄利克雷分布173
4.10 小结177
第5章 可视化、发现和结果178
5.1 matplotlib基础介绍178
5.1.1 曲线绘图179
5.1.2 绘制分块图180
5.1.3 数据中的关系散点图181
5.1.4 直方图182
5.1.5 柱状图183
5.1.6 图像可视化184
5.1.7 pandas的几个图形示例186
5.1.8 通过平行坐标发现模式191
5.2 封装matplotlib命令191
5.2.1 Seaborn简介192
5.2.2 增强EDA性能196
5.3 高级数据学习表示200
5.3.1 学习曲线201
5.3.2 确认曲线202
5.3.3 随机森林的特征重要性203
5.3.4 GBT部分依赖关系图形205
5.3.5 创建MA-AAS预测服务器205
5.4 小结209
第6章 社交网络分析210
6.1 图论简介210
6.2 图的算法215
6.2.1 节点中心性的类型216
6.2.2 网络划分218
6.3 图的装载、输出和采样221
6.4
前言
作者简介
审阅者简介
第1章 新手上路1
1.1 数据科学与Python简介1
1.2 Python的安装2
1.2.1 Python 2还是Python 33
1.2.2 分步安装4
1.2.3 安装必要的工具包4
1.2.4 工具包升级6
1.3 科学计算发行版6
1.3.1 Anaconda7
1.3.2 使用conda安装工具包7
1.3.3 Enthought Canopy8
1.3.4 WinPython8
1.4 虚拟环境8
1.5 核心工具包一瞥11
1.6 Jupyter简介18
1.6.1 快速安装与初次使用21
1.6.2 Jupyter魔术命令22
1.6.3 直接从Jupyter Notebook安装软件包23
1.6.4 查看新的JupyterLab环境24
1.6.5 Jupyter Notebook怎样帮助数据科学家24
1.6.6 Jupyter的替代版本29
1.7 本书使用的数据集和代码30
1.7.1 Scikit-learn小规模数据集30
1.7.2 MLdata.org和其他公共资源库32
1.7.3 LIBSVM Data样本33
1.7.4 直接从CSV或文本文件加载数据33
1.7.5 Scikit-learn样本生成器35
1.8 小结36
第2章 数据改写37
2.1 数据科学过程37
2.2 使用pandas进行数据加载与预处理39
2.2.1 数据快捷加载39
2.2.2 处理问题数据41
2.2.3 处理大数据集43
2.2.4 访问其他的数据格式46
2.2.5 合并数据48
2.2.6 数据预处理51
2.2.7 数据选择55
2.3 使用分类数据和文本数据57
2.3.1 特殊的数据类型—文本59
2.3.2 使用Beautiful Soup抓取网页64
2.4 使用Numpy进行数据处理65
2.4.1 NmuPy中的N维数组65
2.4.2 NmuPy ndarray对象基础66
2.5 创建Numpy数组68
2.5.1 从列表到一维数组68
2.5.2 控制内存大小69
2.5.3 异构列表70
2.5.4 从列表到多维数组70
2.5.5 改变数组大小71
2.5.6 利用NumPy函数生成数组73
2.5.7 直接从文件中获得数组73
2.5.8 从pandas提取数据74
2.6 NumPy快速操作和计算75
2.6.1 矩阵运算77
2.6.2 NumPy数组切片和索引78
2.6.3 NumPy数组堆叠80
2.6.4 使用稀疏数组81
2.7 小结83
第3章 数据科学流程84
3.1 EDA简介84
3.2 创建新特征87
3.3 维数约简89
3.3.1 协方差矩阵89
3.3.2 主成分分析90
3.3.3 一种用于大数据的PCA变型—RandomizedPCA93
3.3.4 潜在因素分析94
3.3.5 线性判别分析94
3.3.6 潜在语义分析95
3.3.7 独立成分分析95
3.3.8 核主成分分析96
3.3.9 T-分布邻域嵌入算法97
3.3.10 受限波尔兹曼机98
3.4 异常检测和处理99
3.4.1 单变量异常检测99
3.4.2 EllipticEnvelope101
3.4.3 OneClassSVM104
3.5 验证指标106
3.5.1 多标号分类107
3.5.2 二值分类109
3.5.3 回归110
3.6 测试和验证110
3.7 交叉验证113
3.7.1 使用交叉验证迭代器115
3.7.2 采样和自举方法116
3.8 超参数优化118
3.8.1 建立自定义评分函数120
3.8.2 减少网格搜索时间121
3.9 特征选择123
3.9.1 基于方差的特征选择123
3.9.2 单变量选择124
3.9.3 递归消除125
3.9.4 稳定性选择与基于L1的选择126
3.10 将所有操作包装成工作流程127
3.10.1 特征组合和转换链接128
3.10.2 构建自定义转换函数130
3.11 小结131
第4章 机器学习132
4.1 准备工具和数据集132
4.2 线性和逻辑回归134
4.3 朴素贝叶斯136
4.4 K近邻137
4.5 非线性算法139
4.5.1 基于SVM的分类算法140
4.5.2 基于SVM的回归算法141
4.5.3 调整SVM(优化)142
4.6 组合策略144
4.6.1 基于随机样本的粘贴策略144
4.6.2 基于弱分类器的Bagging策略144
4.6.3 随机子空间和随机分片145
4.6.4 随机森林和Extra-Trees145
4.6.5 从组合估计概率147
4.6.6 模型序列—AdaBoost148
4.6.7 梯度树提升149
4.6.8 XGBoost150
4.6.9 LightGBM152
4.6.10 CatBoost155
4.7 处理大数据158
4.7.1 作为范例创建一些大数据集158
4.7.2 对容量的可扩展性159
4.7.3 保持速度161
4.7.4 处理多样性162
4.7.5 随机梯度下降概述163
4.8 自然语言处理一瞥164
4.8.1 词语分词164
4.8.2 词干提取165
4.8.3 词性标注166
4.8.4 命名实体识别166
4.8.5 停止词167
4.8.6 一个完整的数据科学例子—文本分类168
4.9 无监督学习概览169
4.9.1 K均值算法169
4.9.2 基于密度的聚类技术—DBSCAN172
4.9.3 隐含狄利克雷分布173
4.10 小结177
第5章 可视化、发现和结果178
5.1 matplotlib基础介绍178
5.1.1 曲线绘图179
5.1.2 绘制分块图180
5.1.3 数据中的关系散点图181
5.1.4 直方图182
5.1.5 柱状图183
5.1.6 图像可视化184
5.1.7 pandas的几个图形示例186
5.1.8 通过平行坐标发现模式191
5.2 封装matplotlib命令191
5.2.1 Seaborn简介192
5.2.2 增强EDA性能196
5.3 高级数据学习表示200
5.3.1 学习曲线201
5.3.2 确认曲线202
5.3.3 随机森林的特征重要性203
5.3.4 GBT部分依赖关系图形205
5.3.5 创建MA-AAS预测服务器205
5.4 小结209
第6章 社交网络分析210
6.1 图论简介210
6.2 图的算法215
6.2.1 节点中心性的类型216
6.2.2 网络划分218
6.3 图的装载、输出和采样221
6.4
前 言
“千里之行,始于足下。”
—老子(公元前604年—公元前531年)
数据科学属于一门相对较新的知识领域,它成功融合了线性代数、统计建模、可视化、计算语言学、图形分析、机器学习、商业智能、数据存储和检索等众多学科。
Python编程语言在过去十年已经征服了科学界,现在是数据科学实践者不可或缺的工具,也是每一个有抱负的数据科学家的必备工具。Python为数据分析、机器学习和算法求解提供了快速、可靠、跨平台、成熟的开发环境。无论之前在数据科学应用中阻止你掌握Python的原因是什么,我们将通过简单的分步化解和示例导向的方法帮你解决,以便你在演示数据集和实际数据集上使用最直接有效的Python工具。
作为第3版,本书对第2版的内容进行了更新和扩展。以最新的Jupyter Notebook和JupyterLab界面(结合可互换的内核,一个真正的多语言数据科学系统)为基础,本书包含了Numpy、pandas和Scikit-learn等库的所有主要更新。此外,本书还提供了不少新内容,包括新的梯度提升机器(GBM)算法(XGBoost、LightGBM和CatBoost)、深度学习(通过提供基于Tensorflow的Keras解决方案)、漂亮的数据可视化(主要使用seaborn)和Web部署(使用bottle)等。
本书首先介绍了如何在最新版Python 3.6中安装基本的数据科学工具箱,本书采用单源方法(这意味着本书代码也可以在Python 2.7上重用)。接着,将引导你进入完整的数据改写和预处理阶段,主要阐述用于数据分析、探索或处理的数据加载、变换、修复等关键数据科学活动。最后,本书将完成数据科学精要的概述,介绍主要的机器学习算法、图分析技术、所有可视化工具和部署工具,其中可视化工具更易于向数据科学专家或商业用户展示数据处理结果。
读者对象
如果你有志于成为数据科学家,并拥有一些数据分析和Python方面的基础知识,本书将助你在数据科学领域快速入门。对于有R语言或MATLAB/GNU Octave编程经验的数据分析人员,本书也可以作为一个全面的参考书,提高他们在数据操作和机器学习方面的技能。
本书内容
第1章介绍Jupyter Notebook,演示怎样使用教程中的数据。
第2章介绍所有关键的数据操作和转换技术,重点介绍数据改写的最佳实践。
第3章讨论所有可能改进数据科学项目结果的操作,使读者能够进行高级数据操作。
第4章介绍Scikit-learn库中最重要的机器学习算法。向读者展示具体的实践应用,以及为了使每种学习技术获得最佳效果,应重点检查什么和调整哪些参数。
第5章为你提供基础和中高级图形表示技术,这对复杂数据结构和机器学习所得结果的表示和视觉理解是必不可少的。
第6章向读者提供处理社交关系和交互数据实用而有效的技术。
第7章演示了如何从零开始构建卷积神经网络,介绍了行业内增强深度学习模型的所有工具,解释了迁移学习的工作原理,以及如何使用递归神经网络进行文本分类和时间序列预测。
第8章介绍了一种处理数据的新方法—水平缩放大数据。这意味着要运行安装了Hadoop和Spark框架的机器集群。
附录包括一些Python示例和说明,重点介绍Python语言的主要特点,这些都是从事数据科学工作必须了解的。
阅读准备
为了充分利用本书,读者需要具备以下知识:
熟悉基本的Python语法和数据结构(比如,列表和字典)。
具有数据分析基础知识,特别是关于描述性统计方面的知识。
通过阅读本书,也可以帮你培养这两方面的技能,尽管本书没有过多地介绍其中的细节,而只提供了一些最基本的技术,数据科学家为了成功运行其项目必须了解这些技术。
你还需要做好以下准备:
一台装有Windows、MacOS或Linux操作系统的计算机,至少8GB的内存(如果你的计算机内存只有4 GB,还是可以运行本书大部分示例的)。
如果加速第7章中的计算,最好安装一个GPU。
安装Python 3.6,推荐通过Anaconda来安装(https://www.anaconda.com/download/)。
下载示例代码及彩色图像
本书的示例代码及彩图,可以从http://www.packtpub.com通过个人账号下载,也可以访问华章图书官网http://www.hzbook.com,通过注册并登录个人账号下载。
—老子(公元前604年—公元前531年)
数据科学属于一门相对较新的知识领域,它成功融合了线性代数、统计建模、可视化、计算语言学、图形分析、机器学习、商业智能、数据存储和检索等众多学科。
Python编程语言在过去十年已经征服了科学界,现在是数据科学实践者不可或缺的工具,也是每一个有抱负的数据科学家的必备工具。Python为数据分析、机器学习和算法求解提供了快速、可靠、跨平台、成熟的开发环境。无论之前在数据科学应用中阻止你掌握Python的原因是什么,我们将通过简单的分步化解和示例导向的方法帮你解决,以便你在演示数据集和实际数据集上使用最直接有效的Python工具。
作为第3版,本书对第2版的内容进行了更新和扩展。以最新的Jupyter Notebook和JupyterLab界面(结合可互换的内核,一个真正的多语言数据科学系统)为基础,本书包含了Numpy、pandas和Scikit-learn等库的所有主要更新。此外,本书还提供了不少新内容,包括新的梯度提升机器(GBM)算法(XGBoost、LightGBM和CatBoost)、深度学习(通过提供基于Tensorflow的Keras解决方案)、漂亮的数据可视化(主要使用seaborn)和Web部署(使用bottle)等。
本书首先介绍了如何在最新版Python 3.6中安装基本的数据科学工具箱,本书采用单源方法(这意味着本书代码也可以在Python 2.7上重用)。接着,将引导你进入完整的数据改写和预处理阶段,主要阐述用于数据分析、探索或处理的数据加载、变换、修复等关键数据科学活动。最后,本书将完成数据科学精要的概述,介绍主要的机器学习算法、图分析技术、所有可视化工具和部署工具,其中可视化工具更易于向数据科学专家或商业用户展示数据处理结果。
读者对象
如果你有志于成为数据科学家,并拥有一些数据分析和Python方面的基础知识,本书将助你在数据科学领域快速入门。对于有R语言或MATLAB/GNU Octave编程经验的数据分析人员,本书也可以作为一个全面的参考书,提高他们在数据操作和机器学习方面的技能。
本书内容
第1章介绍Jupyter Notebook,演示怎样使用教程中的数据。
第2章介绍所有关键的数据操作和转换技术,重点介绍数据改写的最佳实践。
第3章讨论所有可能改进数据科学项目结果的操作,使读者能够进行高级数据操作。
第4章介绍Scikit-learn库中最重要的机器学习算法。向读者展示具体的实践应用,以及为了使每种学习技术获得最佳效果,应重点检查什么和调整哪些参数。
第5章为你提供基础和中高级图形表示技术,这对复杂数据结构和机器学习所得结果的表示和视觉理解是必不可少的。
第6章向读者提供处理社交关系和交互数据实用而有效的技术。
第7章演示了如何从零开始构建卷积神经网络,介绍了行业内增强深度学习模型的所有工具,解释了迁移学习的工作原理,以及如何使用递归神经网络进行文本分类和时间序列预测。
第8章介绍了一种处理数据的新方法—水平缩放大数据。这意味着要运行安装了Hadoop和Spark框架的机器集群。
附录包括一些Python示例和说明,重点介绍Python语言的主要特点,这些都是从事数据科学工作必须了解的。
阅读准备
为了充分利用本书,读者需要具备以下知识:
熟悉基本的Python语法和数据结构(比如,列表和字典)。
具有数据分析基础知识,特别是关于描述性统计方面的知识。
通过阅读本书,也可以帮你培养这两方面的技能,尽管本书没有过多地介绍其中的细节,而只提供了一些最基本的技术,数据科学家为了成功运行其项目必须了解这些技术。
你还需要做好以下准备:
一台装有Windows、MacOS或Linux操作系统的计算机,至少8GB的内存(如果你的计算机内存只有4 GB,还是可以运行本书大部分示例的)。
如果加速第7章中的计算,最好安装一个GPU。
安装Python 3.6,推荐通过Anaconda来安装(https://www.anaconda.com/download/)。
下载示例代码及彩色图像
本书的示例代码及彩图,可以从http://www.packtpub.com通过个人账号下载,也可以访问华章图书官网http://www.hzbook.com,通过注册并登录个人账号下载。
评论
还没有评论。