Python数据科学入门

978-7-115-47962-4
作者: [美]约翰·保罗·穆勒(John Paul Mueller) (意)卢卡·马萨罗(Luca Massaron)
译者: 徐旭彬
编辑: 陈冀康
分类: Python

图书目录:

第 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 以朴素的决策树开始 341

20.1.1 理解决策树 341

20.1.2 创建分类和回归树 343

20.2 让机器学习得以应用 346

20.2.1 使用随机森林分类器来工作 348

20.2.2 使用随机森林回归器来工作 349

20.2.3 优化随机森林 349

20.3 Boosting 预测 351

20.3.1 了解多个弱预测器将胜出 351

20.3.2 创建梯度推进分类器 352

20.3.3 创建梯度推进回归器 353

20.3.4 使用GBM 超参数 353

第6 部分 十大系列专题 355

第 21 章 10 个必不可少的数据科学资源集 357

21.1 用数据科学周刊获得深入了解 358

21.2 在U Climb Higher 上获取资源列表 358

21.3 用KDnuggets 来获得一个良好的起点 359

21.4 访问数据科学中心上的巨型资源列表 359

21.5 从专家处获得开源数据科学情报 360

21.6 用Quora 来定位到免费的学习资源 360

21.7 在Conductrics 上接收高级主题的帮助 361

21.8 从立志数据科学家中学习新技巧 361

21.9 在AnalyticBridge 上寻找数据智能和分析资源 362

21.10 专注于Jonathan Bower的开发者资源 362

第 22 章 10 个你应该接受的挑战 364

22.1 迎接数据科学伦敦+Scikit-learn 的挑战 365

22.2 预测泰坦尼克号上的幸存者 366

22.3 寻找满足你需求的Kaggle竞赛 366

22.4 磨练你的过拟合策略 367

22.5 涉猎MovieLens 数据集 367

22.6 清除垃圾邮件 368

22.7 使用手写信息工作 369

22.8 使用图片工作 370

22.9 分析Amazon.com 审查 371

22.10 与巨图交互 371

详情

本书分为22章,详细介绍了数据科学中如何使用Python进行编程及开发,帮助一些对数据科学感兴趣的读者以及Python爱好者,快速掌握Python语言,并能够使用Python进行数据分析。达人迷系列是倾向于初学者的一个系列,本书内容易学易懂,非常适合读者参考学习。

图书摘要

相关图书

深度学习的数学——使用Python语言
深度学习的数学——使用Python语言
动手学自然语言处理
动手学自然语言处理
Web应用安全
Web应用安全
Python高性能编程(第2版)
Python高性能编程(第2版)
图像处理与计算机视觉实践——基于OpenCV和Python
图像处理与计算机视觉实践——基于OpenCV和Python
Python数据科学实战
Python数据科学实战

相关文章

相关课程