关于我们
![]() ![]() |
大数据分析与处理:实践者的研究方法 车海莺 薛静锋 金福生 商亮
本书融合作者多年的教学与实践经验,是一本全面且实用的大数据分析与处理教材。全书分为六部分共20章,内容循序渐进,从大数据的基本概念出发,逐步深入探讨数据采集和预处理、数据存储、数据处理、大数据分析平台以及大数据应用等关键环节。本书详细介绍了PyTorch、TensorFlow和Spark MLlib等热门大数据分析平台,并通过深入剖析和实战演练,帮助读者轻松掌握这些先进工具的使用技巧。同时,本书针对数据可视化、文本分析、推荐系统等经典应用场景,通过案例分析和代码实现,引导读者从理论走向实践,快速掌握大数据分析的核心技能。本书适合作为普通高校数据科学与大数据相关专业的教材,也适合相关专业的技术人员使用。
本书以六篇架构串联理论与实践,从数据预处理到推荐系统、知识图谱等应用场景,配套案例代码与学堂在线慕课,助你快速具备工程落地能力。
前 言在人工智能迅速发展的今天,数据与算法、算力共同构成人工智能的三大基本要素,发挥着至关重要的作用。其中,高质量的数据是人工智能性能的重要基石。大数据分析不仅成为企业创新和政府决策的关键支撑,更是推动人工智能与大模型性能持续提升的原动力。为顺应人工智能时代对高质量数据分析能力的需求,我们结合多年大数据分析课程教学的经验与成果,经过近两年的精心筹备与编写,推出了本书。本书旨在为广大读者提供一个全面、系统且实用的大数据分析学习指南。我们不仅深入讲解了大数据分析的原理和方法,还提供了丰富的案例代码,帮助读者从理论走向实践,提高大数据分析工程实践能力。通过学习本书,读者将能够掌握大数据分析的核心概念、原理和技术,了解大数据分析平台的应用,并具备在实际项目中运用大数据分析解决问题的能力。全书共分为六部分,每一部分都围绕大数据分析的关键环节展开,力求为读者构建一个完整、系统的学习体系。第一部分为绪论,在此部分中简要介绍了大数据的基本概念、发展历程及其在各个领域的应用价值,为后续章节的学习打下坚实的理论基础。第二部分为数据采集和预处理,此部分涵盖了数据源的识别与选择、数据抽取与清洗、数据转换与归约等关键步骤,确保读者能够掌握高质量数据的获取方法。第三部分为数据存储,在此部分中深入探讨了数据物理存储系统和逻辑存储系统的相关原理,介绍了数据建模、分布式文件系统、NoSQL数据库以及图数据库等先进技术,旨在帮助读者理解如何构建高效、稳定的数据存储环境。第四部分为数据处理,在此部分中全面介绍了各种数据处理系统的技术和方法,包括批数据处理、流数据处理、分布式图处理、处理架构、内存计算以及数据处理算法等,帮助读者掌握不同大数据处理模型的核心技术。第五部分为大数据分析平台,在此部分中重点介绍了PyTorch、TensorFlow和Spark MLlib这三个主流的大数据分析平台,深入剖析了它们的框架原理、优势特点以及使用技巧,并通过实验案例帮助读者掌握这些大数据分析平台的使用方法和技巧。第六部分为大数据应用,在此部分中精心选择了几种经典的大数据应用场景,包括数据可视化、文本分析、推荐系统、知识图谱以及社交网络分析等,详细介绍了这些应用的流程,并辅以案例分析和实现代码,帮助读者深入理解各种典型大数据分析应用的原理与实现过程。此外,为了方便读者学习,我们还提供了大数据分析慕课作为本书的辅助学习资源。这些慕课内容丰富、讲解生动,可以帮助读者更好地理解和掌握大数据分析的相关知识。同时,本书也提供了实验源代码以及习题解析,这些学习资源可以通过扫描以下二维码获取。众多研究生和本科生都热情参与了本书的编写工作。他们不仅协助我们完成了大量的撰写与校对工作,还为我们提供了宝贵的意见和建议。在此,我们要特别感谢叶润枝、吕宁、杨婧、吴国承、李灏、贾星辰、钟文清、韩若嘉、赵羽风、魏梦青、刘炳辉、陈轶飞、罗森、李艳茹、巩传龙、邹莹、马旭腾、万李锦芬、戚嘉亮、肖天一、张易从、张博凡、张卓远、张延硕、陈伊琳、张博汉、许婧雯等同学的大力支持和辛勤付出。最后,我们衷心希望本书能够成为广大读者在大数据分析领域学习和实践的有力助手,帮助读者不断提升自己的大数据分析能力和工程实践能力。同时,我们也欢迎读者提出宝贵的意见和建议,以便我们不断完善和提升本书的质量。让我们携手共进,迎接人工智能时代的挑战与机遇,共同创造美好的未来!
车海莺 北京理工大学计算机学院数据科学与知识工程研究所副教授。北京理工大学博士,德国Karlsruhe大学信息工程博士后。美国史蒂文斯理工学院访问学者。研究方向包括大数据分析、人工智能、区块链技术等,相关领域发表高水平学术文章20余篇,发明专利3项。 讲授课程包括全英文大数据分析、软件工程、信息管理等。具有丰富的工程项目经验,作为主要完成人参与完成多项科技部重点研发计划项目和国家自然基金项目。获得2024年华为产学合作项目,2024年拓金计划项目“大数据分析”,2023年国家一流本科课程(线上一流课程:大数据技术导论)主要成员,2022年北京理工大学迪文优秀教师、2021年华为栋梁之师,重点教改项目等奖项。获得IBM全球共享研究计划项目奖,IBM全球学者奖(Faculty Awards),2015、2017、2019、2020年国家留学基金委IBM优秀教师奖教金等多项奖励。出版教材专著3部。独立完成慕课4门(英文大数据分析、中文大数据分析、大数据时代的创新思维和软件理论与工程),参与建设慕课1门(大数据技术导论)。社会职务包括欧美同学会德奥分会理事,SAP学术与教育工作委员会委员等。薛静锋 博士,现任北京理工大学计算机学院副院长、教授、博士生导师,软件评测中心主任,兼任高等学校大学计算机课程教学指导委员会委员,全国高等院校计算机基础教育研究会理工专委会秘书长,中国人工智能学会理事、智能信息网络专委会秘书长。发表SCI/EI检索论文60余篇,申请国家发明专利30余项,编写教材6部。
目 录前言第一部分 绪论第1章 概述21.1 大数据的基本概念21.1.1 大数据的概念21.1.2 大数据的来源21.2 结构化和非结构化数据31.2.1 结构化数据的特点41.2.2 非结构化数据的特点41.3 大数据的特征51.3.1 规模性61.3.2 多样性61.3.3 高速性61.3.4 价值性61.3.5 真实性71.4 科学研究的第四范式71.4.1 科学研究的第四范式的 发展历程71.4.2 第四范式的概念和特点91.5 大数据的生命周期111.5.1 数据采集121.5.2 数据存储121.5.3 数据整合131.5.4 数据呈现与使用131.5.5 数据分析与应用131.5.6 数据归档141.5.7 数据销毁151.6 大数据的处理流程151.6.1 数据采集161.6.2 数据存储161.6.3 数据治理161.6.4 数据分析171.6.5 数据应用171.7 大数据的架构171.7.1 数据存储系统181.7.2 数据处理系统191.7.3 数据应用系统20总结20习题20第二部分 数据采集和预处理第2章 大数据的采集222.1 内部数据222.1.1 内部数据概述222.1.2 内部数据的价值232.1.3 内部数据的采集242.2 外部数据262.2.1 外部数据概述262.2.2 浅网数据282.2.3 深网数据32总结34习题34第3章 大数据的预处理353.1 数据预处理概述353.1.1 数据预处理的意义353.1.2 数据预处理的方法353.2 数据质量363.2.1 单一数据源数据质量问题363.2.2 多数据源数据质量问题373.3 数据清洗技术373.3.1 残缺数据处理383.3.2 冗余数据处理383.3.3 噪声数据处理383.4 数据转换403.4.1 数据集成403.4.2 数据变换413.5 数据归约423.5.1 维归约433.5.2 数量归约443.5.3 数据压缩与变换45总结45习题45第三部分 数据存储第4章 数据存储系统484.1 数据建模484.1.1 数据建模概述484.1.2 如何对数据建模504.2 分布式文件系统534.2.1 分布式文件系统概述534.2.2 GFS554.2.3 HDFS574.2.4 主流分布式文件系统对比614.3 NoSQL数据库634.3.1 NoSQL概述644.3.2 NoSQL分类654.3.3 NoSQL与其他数据库的关系674.4 统一数据访问接口68总结70习题71第5章 图数据库725.1 图数据库的发展725.1.1 图数据库的历史725.1.2 图数据库的现状和发展735.2 图数据库概述745.2.1 图数据库简介745.2.2 图数据库的定义755.2.3 图数据库的应用765.2.4 图数据库未来的发展趋势775.3 图数据库的特点及优缺点785.3.1 图数据库的特点785.3.2 图数据库的优缺点795.4 图数据库的主要技术805.4.1 图数据库的数据模型805.4.2 图数据库的存储引擎825.4.3 图数据库的操作语言835.4.4 图数据库的算法835.5 代表性图数据库—Neo4j845.5.1 Neo4j概述845.5.2 Neo4j图数据库的数据模型和 存储结构855.5.3 使用Neo4j的优势855.5.4 Cypher语句855.6 Neo4j图数据库的基础实验885.6.1 实验目的885.6.2 环境配置885.6.3 实验步骤895.6.4 实验总结965.7 Neo4j图数据库的进阶实验965.7.1 实验概述965.7.2 数据导入975.7.3 实验步骤与代码展示985.7.4 实验总结102总结102习题102第四部分 数据处理第6章 数据处理系统1046.1 数据处理系统概述1046.1.1 什么是数据处理1046.1.2 数据处理系统的组成1046.2 计算模型1056.2.1 批处理模型概述1056.2.2 流处理模型概述1056.2.3 大规模图像数据处理 模型概述1066.2.4 分布式图处理模型概述1066.2.5 大规模并行处理模型概述1066.2.6 大规模物理内存计算 模型概述1066.3 计算平台与引擎1066.3.1 Hadoop1076.3.2 Spark107总结109习题109第7章 批数据处理系统1107.1 MapReduce1107.1.1 MapReduce的架构1117.1.2 MapReduce与RDBMS1127.1.3 共享存储的批处理模型1127.1.4 Hadoop1137.2 MapReduce应用实例1147.2.1 Top k问题1147.2.2 k-means聚类117总结117习题117第8章 流数据处理系统1188.1 流计算的定义1188.1.1 流处理出现的原因1188.1.2 流处理的定义1188.1.3 流计算的应用1198.2 原生流处理—Storm1218.2.1 Storm简介1218.2.2 Storm的物理架构1228.2.3 Storm的逻辑架构1238.2.4 其他传统流处理系统1248.3 微批流处理系统— Spark Streaming1248.3.1 Spark Streaming概述1248.3.2 Spark Streaming的工作流程1258.3.3 Spark Streaming的工作 原理和架构1268.3.4 Spark Streaming的特性1298.4 Flink1298.4.1 批处理与流处理1308.4.2 Flink提供的不同级别的 抽象1318.4.3 无界数据流与有界数据流1318.5 流数据处理实验1328.5.1 Storm流数据处理实验1328.5.2 Spark Streaming流数据 处理实验1378.6 大数据处理体系结构1478.6.1 批处理层1488.6.2 服务层1488.6.3 实时处理层149总结150习题150第9章 分布式图处理1519.1 分布式图处理概述1519.2 分布式图处理的概念1529.3 分布式图处理的工作原理1539.4 分布式图处理的框架—Pregel1539.4.1 Pregel的基础概念1539.4.2 Pregel的工作原理1569.4.3 Pregel的体系结构1599.5 Pregel框架实验1619.5.1 基于C++线程并发的Pregel 框架模拟1629.5.2 节点最大值实验1639.5.3 单源最短路径实验1669.5.4 实验总结171总结171习题171第10章 处理架构17210.1 对称多处理架构17210.2 非一致性内存访问架构17210.3 大规模并行处理架构 17310.4 SMP、NUMA和MPP的比较17810.4.1 SMP与MPP的比较17810.4.2 NUMA与MPP的比较178总结179习题179第11章 内存计算18011.1 SAP HANA18011.1.1 SAP HANA概述18011.1.2 SAP HANA的工作原理18111.1.3 SAP HANA的优势18411.2 Spark18411.2.1 Spark的起源18411.2.2 Spark的工作原理18511.2.3 Spark的组件18911.2.4 Spark的优势191总结191习题192第12章 数据处理算法19312.1 数据处理基础19312.1.1 数据挖掘19312.1.2 数据建模的一般流程19312.1.3 数据建模方法的评估19712.1.4 常见数据分类任务及其 表征手段19912.2 机器学习方法20112.2.1 机器学习的一般步骤20112.2.2 传统SVM方法20212.2.3 随机森林方法20412.2.4 决策树方法20512.3 深度学习方法20812.3.1 线性回归模型20912.3.2 感知器模型21112.3.3 人工神经网络21312.3.4 小结217总结218习题218第五部分 大数据分析平台第13章 PyTorch22013.1 PyTorch的发展背景22013.2 PyTorch结构概览22113.2.1 torch22113.2.2 torchvision22213.3 数据载体模块22313.3.1 初始化张量22313.3.2 张量的属性22613.3.3 张量的基本运算和操作22613.3.4 张量与NumPy数组23113.3.5 图像转换和处理23313.3.6 小结23513.4 求导模块23513.4.1 张量、函数与计算图23513.4.2 自动求导机制23613.4.3 梯度计算23713.4.4 禁用梯度跟踪23913.4.5 小结23913.5 效率工具模块24013.5.1 数据导入和封装24013.5.2 载入预训练模型24413.5.3 训练结果可视化24513.5.4 小结24613.6 优化算法模块24713.6.1 前置代码24813.6.2 超参数24813.6.3 循环优化25013.6.4 损失函数25013.6.5 优化器25013.6.6 小结25313.7 神经网络模块25413.7.1 获取设备25513.7.2 定义类25513.7.3 模型的网络层25613.7.4 模型参数25913.7.5 保存、加载和使用模型25913.7.6 小结26013.8 运算性能模块26013.8.1 GPU加速26013.8.2 TorchElastic分布式训练26113.8.3 小结26213.9 PyTorch的基础实验—基于 LSTM的房价预测26213.9.1 torch.nn模块介绍26213.9.2 实验准备26413.9.3 实验的具体步骤26513.10 PyTorch的进阶实验—搭建 Transformer框架26813.10.1 Transformer的起源与意义26813.10.2 Transformer的整体结构26913.10.3 Transformer的各组件27113.10.4 Transformer的代码实现27513.10.5 Transformer的应用280总结282习题282第14章 TensorFlow28314.1 TensorFlow概述28314.2 TensorFlow的系统架构28414.2.1 模型的构建、训练和验证28514.2.2 模型的存储和部署28714.3 神经网络的构建与TensorFlow 的基本用法28714.3.1 神经网络前置知识28714.3.2 TensorFlow的基本用法29114.3.3 小结29314.4 TensorFlow的特点、优势和 应用领域29414.4.1 TensorFlow的特点29414.4.2 TensorFlow的优势29414.4.3 TensorFlow的应用领域29414.5 比较PyTorch和TensorFlow29514.6 TensorFlow实验29714.6.1 tf.keras前置知识29714.6.2 TensorFlow图像分类实验29714.6.3 TensorFlow图像风格 迁移实验304总结304习题304第15章 Spark MLlib30615.1 Spark MLlib概述30615.2 Spark MLlib的系统架构30715.3 Spark MLlib的工作流307总结310习题310第六部分 大数据应用第16章 数据可视化31216.1 数据可视化概述31216.1.1 数据可视化的概念31216.1.2 数据可视化的分类31216.1.3 数据可视化与其他学科 领域的关系31316.2 数据可视化基础31516.2.1 数据可视化设计的原则31516.2.2 数据可视化流程31616.2.3 数据可视化的基本图表31716.3 数据可视化工具和软件32116.3.1 Power BI32116.3.2 Tableau32316.3.3 Gephi32516.4 数据可视化分析案例32616.4.1 连接数据32616.4.2 数据初步处理32616.4.3 图表绘制327总结330习题330第17章 大数据分析应用— 文本分析33117.1 文本分析概述33117.1.1 文本数据33117.1.2 文本分析33217.2 文本分析相关技术33517.2.1 人工文本分析33517.2.2 基于词典的方法33617.2.3 词袋法33717.2.4 监督学习33817.2.5 无监督学习33817.2.6 循环神经网络34517.2.7 长短时记忆网络34717.3 情感分析案例34817.3.1 数据获取34917.3.2 数据预处理34917.3.3 特征工程35017.3.4 模型训练和使用352总结354习题355第18章 大数据分析应用— 推荐系统35618.1 推荐系统概述35618.1.1 信息过载与推荐系统35618.1.2 推荐系统的发展历史35618.1.3 推荐系统的意义35718.1.4 推荐系统的基本工作流程35818.1.5 推荐系统的整体架构35918.1.6 推荐系统的主要类型35918.2 推荐系统的相关算法36018.2.1 基于内容的推荐算法36018.2.2 协同过滤推荐算法36218.2.3 深度学习推荐算法37018.2.4 混合推荐算法37418.3 推荐系统的其他问题37418.3.1 推荐系统的性能评估37418.3.2 推荐系统的冷启动37518.3.3 推荐系统的大规模 数据处理37518.3.4 推荐系统中的稀疏性问题37618.3.5 推荐系统中的长尾问题37718.4 推荐系统案例37718.4.1 背景37718.4.2 数据37818.4.3 模型37918.4.4 环境搭建37918.4.5 数据处理38118.4.6 模型构建38218.4.7 模型训练38318.4.8 模型评估38318.4.9 推荐38418.4.10 案例总结384总结384习题385第19章 图数据分析的应用— 知识图谱38619.1 图数据分析概述38619.1.1 图数据分析的概念38619.1.2 图数据分析的应用38619.1.3 图数据库与传统数据库38719.2 知识图谱概述38719.2.1 知识图谱的定义38719.2.2 知识图谱的架构38819.2.3 数据类型和存储方式38919.3 知识图谱的相关技术39119.3.1 信息抽取39219.3.2 知识融合39219.3.3 知识加工39319.3.4 知识更新39619.4 知识图谱的应用案例39619.4.1 背景39619.4.2 环境搭建39719.4.3 数据获取39719.4.4 数据处理39819.4.5 实体关系抽取40219.4.6 结果可视化402总结405习题405第20章 图数据分析的应用— 社交网络40620.1 社交网络概述40620.1.1 社交网络的定义40620.1.2 社交网络的起源与发展40620.1.3 社交网络的应用领域40620.1.4 社交网络分析与大数据 的关系40720.1.5 社交网络分析工具40720.2 社交网络分析的结构特性40920.2.1 统计特性40920.2.2 网络特性41020.2.3 网络模型41120.3 社交网络分析的研究41220.4 基于图卷积网络的社交网络 分类实验41220.4.1 实验目的41320.4.2 实验内容和原理41320.4.3 实验步骤414总结419习题419参考文献420
我要评论
|