本书概要介绍了如何使用Hadoop和Spark处理数据科学涉及的一系列主题:数据提取、数据再加工(datamunging,通常包含数据清洗和整合)、特征提取、机器学习、预测建模、异常检测和自然语言处理。整书侧重于具体的例子,并通过不同方式来提供对商业价值的洞察,全书共分三部分,第 一部分包括、2、3章,第二部分包括第4、5、6章,第三部分包括第7、8、9、10、11、12章,后在附录中提供了本书参考材料。
目 录
译者序
序
前言
致谢
关于作者
部分 Hadoop中的数据科学概览
章 数据科学概述2
1.1 数据科学究竟是什么2
1.2 示例:搜索广告3
1.3 数据科学史一瞥4
1.3.1 统计学与机器学习4
1.3.2 互联网巨头的创新5
1.3.3 现代企业中的数据科学6
1.4 数据科学家的成长之路6
1.4.1 数据工程师7
1.4.2 应用科学家7
1.4.3 过渡到数据科学家角色8
1.4.4 数据科学家的软技能9
1.5 数据科学团队的组建10
1.6 数据科学项目的生命周期11
1.6.1 问正确的问题11
1.6.2 数据摄取12
1.6.3 数据清洗:注重数据质量12
1.6.4 探索数据和设计模型特征13
1.6.5 构建和调整模型13
1.6.6 部署到生产环境14
1.7 数据科学项目的管理14
1.8 小结15
第2章 数据科学用例16
2.1 大数据—变革的驱动力16
2.1.1 容量:更多可用数据17
2.1.2 多样性:更多数据类型17
2.1.3 速度:快速数据摄取18
2.2 商业用例18
2.2.1 产品推荐18
2.2.2 客户流失分析19
2.2.3 客户细分19
2.2.4 销售线索的优先级20
2.2.5 情感分析20
2.2.6 欺检测21
2.2.7 预测维护22
2.2.8 购物篮分析22
2.2.9 预测医学诊断23
2.2.10 预测患者再入院23
2.2.11 检测异常访问24
2.2.12 保险风险分析24
2.2.13 预测油气井生产水平24
2.3 小结25
第3章 Hadoop与数据科学26
3.1 Hadoop 究竟为何物26
3.1.1 分布式文件系统27
3.1.2 资源管理器和调度程序28
3.1.3 分布式数据处理框架29
3.2 Hadoop的演进历史31
3.3 数据科学的Hadoop工具32
3.3.1 Apache Sqoop33
3.3.2 Apache Flume33
3.3.3 Apache Hive34
3.3.4 Apache Pig35
3.3.5 Apache Spark36
3.3.6 R37
3.3.7 Python38
3.3.8 Java机器学习软件包39
3.4 Hadoop为何对数据科学家有用39
3.4.1 成本有效的存储39
3.4.2 读取模式40
3.4.3 非结构化和半结构化数据40
3.4.4 多语言工具41
3.4.5 强大的调度和资源管理功能41
3.4.6 分布式系统抽象分层42
3.4.7 可扩展的模型创建42
3.4.8 模型的可扩展应用43
3.5 小结43
第二部分 用Hadoop准备和可视化数据
第4章 将数据导入Hadoop46
4.1 Hadoop数据湖46
4.2 Hadoop分布式文件系统47
4.3 直接传输文件到 HDFS48
4.4 将数据从文件导入Hive表49
4.5 使用Spark将数据导入Hive表52
4.5.1 使用Spark将CSV文件导入Hive52
4.5.2 使用Spark将JSON文件导入Hive54
4.6 使用Apache Sqoop获取关系数据55
4.6.1 使用Sqoop导入和导出数据55
4.6.2 Apache Sqoop版本更改56
4.6.3 使用Sqoop版本2:基本示例57
4.7 使用Apache Flume获取数据流63
4.8 使用Apache Oozie管理Hadoop工作和数据流67
4.9 Apache Falcon68
4.10 数据摄取的下一步是什么69
4.11 小结70
第5章 使用 Hadoop 进行数据再加工 71
5.1 为什么选择Hadoop做数据再加工72
5.2 数据质量72
5.2.1 什么是数据质量72
5.2.2 处理数据质量问题73
5.2.3 使用Hadoop进行数据质量控制76
5.3 特征矩阵78
5.3.1 选择“正确”的特征78
5.3.2 抽样:选择实例79
5.3.3 生成特征80
5.3.4 文本特征81
5.3.5 时间序列特征84
5.3.6 来自复杂数据类型的特征84
5.3.7 特征操作85
5.3.8 降维86
5.4 小结88
第6章 探索和可视化数据89
6.1 为什么要可视化数据89
6.1.1 示例:可视化网络吞吐量89
6.1.2 想象未曾发生的突破92
6.2 创建可视化93
6.2.1 对比图94
6.2.2 组成图96
6.2.3 分布图98
6.2.4 关系图99
6.3 针对数据科学使用可视化101
6.4 流行的可视化工具101
6.4.1 R101
6.4.2 Python:Matplotlib、Seaborn和其他102
6.4.3 SAS102
6.4.4 Matlab103
6.4.5 Julia103
6.4.6 其他可视化工具103
6.5 使用Hadoop可视化大数据103
6.6 小结104
第三部分 使用Hadoop进行数据建模
第7章 Hadoop与机器学习106
7.1 机器学习概述106
7.2 术语107
7.3 机器学习中的任务类型107
7.4 大数据和机器学习108
7.5 机器学习工具109
7.6 机器学习和人工智能的未来110
7.7 小结110
第8章 预测建模111
8.1 预测建模概述111
8.2 分类与回归112
8.3 评估预测模型113
8.3.1 评估分类器114
8.3.2 评估回归模型116
8.3.3 交叉验证117
8.4 有监督学习算法117
8.5 构建大数据预测模型的解决方案118
8.5.1 模型训练118
8.5.2 批量预测120
8.5.3 实时预测120
8.6 示例:情感分析121
8.6.1 推文数据集121
8.6.2 数据准备122
8.6.3 特征生成122
8.6.4 建立一个分类器125
8.7 小结126
第9章 聚类127
9.1 聚类概述127
9.2 聚类的使用128
9.3 设计相似性度量128
9.3.1 距离函数129
9.3.2 相似函数129
9.4 聚类算法130
9.5 示例:聚类算法131
9.5.1 k均值聚类131
9.5.2 LDA131
9.6 评估聚类和选择集群数量132
9.7 构建大数据集群解决方案133
9.8 示例:使用LDA进行主题建模134
9.8.1 特征生成135
9.8.2 运行 LDA136
9.9 小结137