编辑推荐
Python是适用于数据科学的编程语言。即使你初次接触Python语言,本书也能教会你通过Python编程来获取、组织、处理和分析大量的信息并识别出趋势和模式。从安装Python开始,一直到执行交叉验证,快用本书开始学习之旅吧!
看看Python为什么适用于数据科学——浏览数据科学管道并学习Python的基本功能。
安装设置——安装Python、下载数据集和样例代码并用数字和逻辑来工作,创建函数,存储和索引数据。
可视化——探索MatPlotLib,创建图表,包括饼图、条形图、直方图和散点图。
深入探索——学习类和多进程,为数值型的数据定义描述性的统计量并应用于可视化。
数据处理——研究降维解决方案,执行层次聚类并学习检测数据中的异常点。
让数据告诉你一些信息——使用线性模型并执行交叉验证、选取和优化。
本书包含以下精彩内容:
· Python数据分析编程基础
· 有关Python开发环境的一切
· 如何使用随机分布和回归模型
· 对从Web上获取数据的建议
· 使用NumPy、pandas和SciPy来做什么
· 用HTML页面来工作的提示建议
· 如何来创建交互型的图表表达
· 十个必不可少的数据资源
内容简介
本书的目标是介绍如何使用Python 语言及其工具,解决和数据科学所关联的复杂任务。
全书共6 个部分,分22 章,涵盖了Python 数据科学基础知识,数据的采集、整理、整形、应用,数据的可视化,数据分析和处理,数据学习,以及和数据科学相关的10 个话题等。本书将重点放在使用正确的工具上,教读者如何使用Anaconda、atPlotLib、NumPy、pandas、Scikit-learn 等常用的工具来解决数据科学的相关问题。
本书适合对数据科学的知识和应用方法感兴趣的读者阅读,特别适合有志于学习Python 数据分析和处理的读者学习参考。
作者简介
约翰·保罗·穆勒(John Paul Mueller)是一名顾问、应用开发人员、作家和技术编辑,已经写了超过600篇的文章和97本书。卢卡·马萨罗(Luca Massaron)是一名数据科学家,专注于多变量统计分析、机器学习和客户洞察力等领域。他是意大利Web听众分析方面的先驱,是世界知名的数据科学家之一。
目录
第 1 部分 开启Python 数据科学之门 1
第 1 章 探索数据科学与Python之间的匹配度 3
1.1 定义21 世纪最诱人的工作 5
1.1.1 思考数据科学的出现 5
1.1.2 概述数据科学家的核心竞争力 6
1.1.3 连接数据科学和大数据 7
1.1.4 理解编程的角色 7
1.2 创建数据科学管道 8
1.2.1 准备数据 8
1.2.2 执行探索性的数据分析 8
1.2.3 从数据中学习 8
1.2.4 可视化 9
1.2.5 获得洞察力和数据产品 9
1.3 理解Python 在数据科学中的角色 9
1.3.1 思考数据科学家的多面性 9
1.3.2 使用一门多用途、简单而高效的语言来工作 10
1.4 快速学会使用Python 11
1.4.1 加载数据 11
1.4.2 训练模型 12
1.4.3 显示结果 13
第 2 章 介绍Python 的能力和奇迹 14
2.1 为什么是Python 15
2.1.1 抓住Python 的核心哲学 16
2.1.2 探索现在和未来的开发目标 16
2.2 使用Python 工作 17
2.2.1 品味语言 17
2.2.2 理解缩进的需求 17
2.2.3 用命令行或者IDE 工作 18
2.3 运行快速原型和实验 22
2.4 考虑执行速度 23
2.5 可视化能力 24
2.6 为数据科学使用Python生态系统 26
2.6.1 使用SciPy 来访问用于科学的工具 26
2.6.2 使用NumPy 执行基础的科学计算 26
2.6.3 使用pandas 来执行数据分析 26
2.6.4 使用Scikit-learn 实现机器学习 27
2.6.5 使用matplotlib 来标绘数据 27
2.6.6 使用Beautiful Soup来解析HTML 文档 27
第3 章 为数据科学设置Python 29
3.1 考虑现成的跨平台的用于科学的分发包 30
3.1.1 获取Continuum AnalyticsAnaconda 31
3.1.2 获取Enthought CanopyExpress 32
3.1.3 获取pythonxy 32
3.1.4 获取WinPython 33
3.2 在Windows 上安装Anaconda 33
3.3 在Linux 上安装Anaconda 36
3.4 在Mac OS X 上安装Anaconda 37
3.5 下载数据集和示例代码 38
3.5.1 使用IPython Notebook 39
3.5.2 定义代码仓库 40
3.5.3 理解本书中所使用的数据集 45
第4 章 复习Python 基础 47
4.1 使用数字和逻辑来工作 49
4.1.1 执行变量赋值 50
4.1.2 做算术运算 50
4.1.3 使用布尔表达式来比较数据 52
4.2 创建和使用字符串 54
4.3 与日期交互 55
4.4 创建并使用函数 56
4.4.1 创建可复用函数 56
4.4.2 以各种不同的方式调用函数 58
4.5 使用条件和循环语句 61
4.5.1 使用if 语句做决策 61
4.5.2 使用嵌套决策在多个选项间做出选择 62
4.5.3 使用for 执行重复任务 63
4.5.4 使用while 语句 64
4.6 使用Sets、Lists 和Tuples来存储数据 64
4.6.1 在set 上执行操作 65
4.6.2 使用list 来工作 66
4.6.3 创建和使用Tuple 67
4.7 定义有用的迭代器 69
4.8 使用Dictionaries 来索引数据 70
第 2 部分 开始着手于数据 71
第5 章 使用真实数据工作 73
5.1 上传、流化并采样数据 74
5.1.1 把少量数据上传至内存 75
5.1.2 把大量数据流化放入内存 76
5.1.3 采样数据 77
5.2 以结构化的平面文件形式来访问数据 78
5.2.1 从文本文件中读取 79
5.2.2 读取CSV 定界的格式 80
5.2.3 读取Excel 和其他的微软办公文件 82
5.3 以非结构化文件的形式来发送数据 83
5.4 管理来自关系型数据库中的数据 86
5.5 与来自NoSQL 数据库中的数据进行交互 87
5.6 访问来自Web 的数据 88
第6 章 整理你的数据 92
6.1 兼顾NumPy 和pandas 93
6.1.1 知道什么时候使用NumPy 93
6.1.2 知道什么时候使用pandas 93
6.2 验证你的数据 95
6.2.1 了解你的数据中有什么 95
6.2.2 去重 96
6.2.3 创建数据地图和数据规划 97
6.3 处理分类变量 99
6.3.1 创建分类变量 100
6.3.2 重命名层级 102
6.3.3 组合层级 102
6.4 处理你数据中的日期 104
6.4.1 格式化日期和时间值 104
6.4.2 使用正确的时间转换 105
6.5 处理丢失值 106
6.5.1 寻找丢失的数据 106
6.5.2 为丢失项编码 107
6.5.3 为丢失数据估值 108
6.6 交叉分析:过滤并选取数据 109
6.6.1 切分行 109
6.6.2 切分列 110
6.6.3 切块 110
6.7 连接和变换 111
6.7.1 增加新的实例和变量 112
6.7.2 移除数据 113
6.7.3 排序和搅乱 114
6.8 在任何层次聚合数据 115
第7 章 数据整形 117
7.1 使用HTML 页面来工作 118
7.1.1 解析XML 和HTML 118
7.1.2 使用XPath 来抽取数据 119
7.2 使用原始文本来工作 120
7.2.1 处理Unicode 码 120
7.2.2 词干提取和停止词移除 122
7.2.3 介绍正则表达式 124
7.3 使用并超越词袋模型 126
7.3.1 理解词袋模型 127
7.3.2 用n 元文法模型(n-grams)工作 128
7.3.3 实现TF-IDF 变换 130
7.4 使用图数据来工作 131
7.4.1 理解邻接矩阵 131
7.4.2 使用NetworkX 基础 132
第8 章 将你所知的付诸于实践 134
8.1 将问题和数据置于上下文中去理解 135
8.1.1 评估数据科学问题 136
8.1.2 研究方案 136
8.1.3 构想出假设 137
8.1.4 准备数据 138
8.2 思考创建特征的艺术 138
8.2.1 定义特征创建 138
8.2.2 组合变量 139
8.2.3 理解分级和离散化 140
8.2.4 使用指示变量 140
8.2.5 变换分布 140
8.3 在数组上执行运算 141
8.3.1 使用向量化 141
8.3.2 在向量和矩阵上执行简单的算法 142
8.3.3 执行矩阵向量乘法 142
8.3.4 执行矩阵乘法 143
第3 部分 把不可见的东西可视化 145
第9 章 获得MatPlotLib 的速成课程 147
9.1 开始使用图表 148
9.1.1 定义标图 148
9.1.2 画多线条和多标图 149
9.1.3 保存你的工作 149
9.2 设置轴、刻度和网格 150
9.2.1 得到轴 151
9.2.2 格式化轴 151
9.2.3 添加网格 152
9.3 定义线条外观 153
9.3.1 使用线条样式工作 153
9.3.2 使用颜色 155
9.3.3 添加标记 155
9.4 使用标签、注释和图例 157
9.4.1 添加标签 158
9.4.2 注释图表 158
9.4.3 创建图例 159
第 10 章 将数据可视化 161
10.1 选择合适的图表 162
10.1.1 用饼图展示整体的局部组成 162
10.1.2 用柱状图来创建比较 163
10.1.3 用直方图来展示分布 164
10.1.4 使用箱线图来描绘组 166
10.1.5 使用散点图看数据模式 167
10.2 创建高级的散点图 168
10.2.1 描绘组群 168
10.2.2 展示关联 169
10.3 标绘时间序列 171
10.3.1 在轴上表示时间 171
10.3.2 标绘随时间的趋势 172
10.4 标绘地理数据 174
10.5 把图做可视化 176
10.5.1 开发无向图 176
10.5.2 开发有向图 177
第 11 章 理解工具 180
11.1 使用IPython 控制台 181
11.1.1 与屏幕文本交互 181
11.1.2 改变窗口外观 182
11.1.3 获取Python 帮助 184
11.1.4 获取IPython 帮助 185
11.1.5 使用魔法函数 186
11.1.6 探索对象 187
11.2 使用IPython Notebook 188
11.2.1 使用样式来工作 189
11.2.2 重启内核 190
11.2.3 恢复检查点 191
11.3 执行多媒体和图像整合 192
11.3.1 嵌入标图和其他图片 192
11.3.2 从在线网站上加载例子 193
11.3.3 获取在线图像和多媒体 193
第4 部分 处理数据 195
第 12 章 拓展Python 的能力 197
12.1 玩转Scikit-learn 198
12.1.1 理解Scikit-learn 中的类 198
12.1.2 为数据科学定义应用 199
12.2 执行散列法 202
12.2.1 使用散列函数 202
12.2.2 演示散列法 203
12.2.3 使用确定性选择来工作 205
12.3 考虑计时和性能 206
12.3.1 用timeit 来做基线检测 207
12.3.2 使用内存剖析器来工作 209
12.4 并行运行 210
12.4.1 执行多核并行化 211
12.4.2 演示多核处理 212
第 13 章 探索数据分析 214
13.1 EDA 方法 215
13.2 为Numeric 数据定义描述性的统计量 216
13.2.1 度量集中化趋势 217
13.2.2 测量方差和区间 217
13.2.3 使用分位数来工作 218
13.2.4 定义正态化度量 219
13.3 为分类型数据计数 220
13.3.1 理解频率 220
13.3.2 创建列联表 221
13.4 为EDA 创建应用可视化 222
13.4.1 检查箱线图 222
13.4.2 在箱线图之后执行t检验 223
13.4.3 观察平行坐标 224
13.4.4 为分布作图 225
13.4.5 标绘散点图 226
13.5 理解相关性 228
13.5.1 使用协方差和关联性 228
13.5.2 使用非参数相关性 230
13.5.3 考虑表格的卡方检验 230
13.6 修改数据分布 231
13.6.1 使用正态分布 232
13.6.2 创建Z 评分标准化 232
13.6.3 转换其他的著名分布 232
第 14 章 降维 234
14.1 理解SVD 235
14.1.1 寻求降维 236
14.1.2 使用SVD 来测量不可见的信息 237
14.2 执行因子和主成分分析 238
14.2.1 考虑心理测量模型 239
14.2.2 寻找隐因子 239
14.2.3 使用成分,而不是因子 240
14.2.4 达成降维 240
14.3 理解一些应用 241
14.3.1 用PCA 来识别人脸 241
14.3.2 用NMF 来提取主题 244
14.3.3 推荐电影 246
第 15 章 聚类 249
15.1 用K-means 聚类 251
15.1.1 理解基于质心的算法 251
15.1.2 创建使用图像数据的例子 253
15.1.3 寻找优化解决方案 254
15.1.4 大数据聚类 257
15.2 执行层次聚类 258
15.3 超越圆形簇:DBScan 261
第 16 章 检测数据中的异常点 265
16.1 考虑异常检测 266
16.1.1 找出更多可能出错的地方 267
16.1.2 理解异常数据和新奇的数据 268
16.2 检验简单的单变量法 268
16.2.1 利用高斯分布 270
16.2.2 做出假设并检验 270
16.3 开发多变量方法 271
16.3.1 使用主成分分析 272
16.3.2 使用聚类分析 273
16.3.3 使用SVM 将异常检测自动化 274
第5 部分 从数据中学习 275
第 17 章 探索4 个简单又有效的算法 277
17.1 猜测数字:线性回归 277
17.1.1 定义线性模型家族 278
17.1.2 使用更多变量 279
17.1.3 理解限制和问题 280
17.2 转移到逻辑回归 281
17.2.1 应用逻辑回归 281
17.2.2 考虑有更多类的时候 282
17.3 让事情像朴素贝叶斯(Na veBayes)一样简单 283
17.3.1 发现朴素贝叶斯并不是那么朴素 285
17.3.2 预测文本分类 286
17.4 使用最近邻来延迟学习 287
17.4.1 观察邻居之后做预测 288
17.4.2 明智地选择k 参数 290
第 18 章 执行交叉验证、选择和优化 291
18.1 关于拟合模型问题的思考 292
18.1.1 理解偏差和方差 293
18.1.2 定义挑选模型的策略 294
18.1.3 划分训练集和测试集 296
18.2 交叉验证 299
18.2.1 使用k 折交叉验证 299
18.2.2 复杂数据的分层采样 300
18.3 像专业人士那样选择变量 302
18.3.1 通过单变量度量来选择 302
18.3.2 使用贪婪搜索 303
18.4 提升你的超参数 304
18.4.1 实现网格搜索 305
18.4.2 尝试随机化搜索 309
第 19 章 用线性和非线性技巧增加复杂性 311
19.1 使用非线性变换 312
19.1.1 执行变量变换 312
19.1.2 创建变量间的相互作用 314
19.2 正则化线性模型 317
19.2.1 依靠Ridge 回归(L2) 318
19.2.2 使用Lasso(L1) 319
19.2.3 利用规范化 319
19.2.4 组合L1 和L2:Elasticnet 320
19.3 逐块与大数据战斗 320
19.3.1 当数据过多时来做决定 321
19.3.2 实现随机梯度下降 321
19.4 理解支持向量机 323
19.4.1 依靠一种计算方法 324
19.4.2 修正很多新参数 327
19.4.3 用SVC 分类 328
19.4.4 走向非线性是简单的 333
19.4.5 用SVR 来执行回归 334
19.4.6 用SVM 创建随机(stochastic)解决方案 336
第 20 章 理解多数的力量 340
20.1 以朴素
Python数据科学入门 下载 mobi epub pdf txt 电子书 格式