具体描述
【编辑推荐】
资深数据分析咨询师多年经验结晶,通过大量典型数据分析案例,全面而深入地讲解分类分析、聚类分析、数据可视化及预测方面的各种技术和方法,为快速掌握并灵活运用数据分析技术提供最佳实践指南。
【内容简介】
本书共14章:第1章探讨数据分析的基本原理和数据分析步骤;第2章解释如何清洗并准备好数据;第3章展示了在JavaScript可视化框架下应用D3.js来实现各类数据的可视化方法;第4章介绍如何应用朴素贝叶斯算法来区分垃圾邮件;第5章讲解应用动态时间规整方法寻找图像间的相似性;第6章介绍使用随机游走算法和可视化的D3.js动画技术模拟股票价格;第7章介绍核岭回归(KRR)的原理以及应用;第8章描述如何使用支持向量机方法进行分类分析;第9章介绍应用细胞自动机方法对传染病进行建模;第10章解释如何应用Gephi从Facebook获取社会化媒体图谱并使之实现可视化;第11章介绍如何应用Twitter数据进行情感分析;第12章介绍如何使用MongoDB进行数据处理和聚合;第13章详细介绍如何在MongoDB数据库中应用MapReduce编程模型;第14章介绍如何应用IPython和Wakari开展线上数据分析。
通过阅读本书,你将学到:
从数据分析项目中得到有意义的结果
可视化你的数据,找出趋势和相关性
建立你自己的图像相似性搜索引擎
了解如何从时间序列数据中预测数值
在MongoDB中探索MapReduce框架
创建D3.js互动式模拟
作者简介
Hector Cuesta 资深数据分析咨询师,为金融服务、社会化网络、在线学习和人力资源等多个行业提供软件工程与数据分析方面的咨询服务。他是墨西哥州自治大学计算机科学系的讲师,主要研究领域涉及计算流行病学、机器学习、计算机视觉、高性能计算、大数据、模拟和数据可视化。他是《Software Guru》杂志的专栏作家,并且在一些国际期刊和会议中发表多篇科学论文。业余时间,他是乐高机器人和树莓派的狂热爱好者。
目录信息
序
前言
评审者简介
致谢
第1章 开始 1
1.1 计算机科学 1
1.2 人工智能 1
1.3 机器学习 2
1.4 统计学 2
1.5 数学 2
1.6 专业领域知识 2
1.7 数据、信息和知识 3
1.8 数据的本质 3
1.9 数据分析过程 4
1.9.1 问题 5
1.9.2 数据准备 5
1.9.3 数据探索 5
1.9.4 预测建模 6
1.9.5 结果可视化 6
1.10 定量与定性数据分析 7
1.11 数据可视化的重要性 7
1.12 大数据 8
1.12.1 传感器和摄像头 9
1.12.2 社会化网络分析 10
1.12.3 本书的工具和练习 11
1.12.4 为什么使用Python 11
1.12.5 为什么使用mlpy 11
1.12.6 为什么使用D3.js 12
1.12.7 为什么使用MongoDB 12
1.13 小结 12
第2章 数据准备与处理 13
2.1 数据源 13
2.1.1 开源数据 14
2.1.2 文本文件 14
2.1.3 Excel文件 15
2.1.4 SQL数据库 15
2.1.5 NoSQL数据库 16
2.1.6 多媒体 17
2.1.7 网页检索 17
2.2 数据清洗 19
2.2.1 统计方法 20
2.2.2 文本解析 20
2.2.3 数据转化 21
2.3 数据格式 22
2.3.1 CSV 22
2.3.2 JSON 24
2.3.3 XML 25
2.3.4 YAML 26
2.4 开始使用OpenRefine工具 27
2.4.1 Text facet 27
2.4.2 聚类 27
2.4.3 文件过滤器 28
2.4.4 numeric facet 29
2.4.5 数据转化 29
2.4.6 数据输出 30
2.4.7 处理历史 31
2.5 小结 31
第3章 数据可视化 32
3.1 数据导向文件 32
3.1.1 HTML 33
3.1.2 DOM 33
3.1.3 CSS 34
3.1.4 JavaScript 34
3.1.5 SVG 34
3.2 开始使用D3.js 34
3.2.1 柱状图 35
3.2.2 饼图 39
3.2.3 散点图 41
3.2.4 单线图 43
3.2.5 多线图 46
3.3 交互与动画 49
3.4 小结 52
第4章 文本分类 53
4.1 学习和分类 53
4.2 贝叶斯分类 54
4.3 E-mail主题测试器 55
4.4 数据 56
4.5 算法 57
4.6 分类器的准确性 61
4.7 小结 62
第5章 基于相似性的图像检索 63
5.1 图像相似性搜索 63
5.2 动态时间规整 64
5.3 处理图像数据集 65
5.4 执行DTW 66
5.5 结果分析 68
5.6 小结 70
第6章 模拟股票价格 71
6.1 金融时间序列 71
6.2 随机游走模拟 72
6.3 蒙特•卡罗方法 73
6.4 生成随机数 73
6.5 用D3.js实现 74
6.6 小结 80
第7章 预测黄金价格 82
7.1 处理时间序列数据 82
7.2 平滑时间序列 85
7.3 数据——历史黄金价格 87
7.4 非线性回归 88
7.4.1 核岭回归 88
7.4.2 平滑黄金价格时间序列 90
7.4.3 平滑时间序列的预测 91
7.4.4 对比预测值 92
7.5 小结 93
第8章 使用支持向量机的方法进行分析 94
8.1 理解多变量数据集 94
8.2 降维 97
8.2.1 线性无差别分析 98
8.2.2 主成分分析 98
8.3 使用支持向量机 100
8.3.1 核函数 101
8.3.2 双螺旋问题 101
8.3.3 在mlpy中执行SVM 102
8.4 小结 105
第9章 应用细胞自动机的方法对传染病进行建模 106
9.1 流行病学简介 106
9.2 流行病模型 108
9.2.1 SIR模型 108
9.2.2 使用SciPy来解决SIR模型的常微分方程 108
9.2.3 SIRS模型 110
9.3 对细胞自动机进行建模 111
9.3.1 细胞、状态、网格和邻域 111
9.3.2 整体随机访问模型 111
9.4 通过D3.js模拟CA中的SIRS模型 112
9.5 小结 120
第10章 应用社会化图谱 121
10.1 图谱的结构 121
10.1.1 间接图谱 121
10.1.2 直接图谱 122
10.2 社会化网络分析 122
10.3 捕获Facebook图谱 123
10.4 使用Gephi对图谱进行再现 126
10.5 统计分析 128
10.6 度的分布 129
10.6.1 图谱直方图 130
10.6.2 集中度 131
10.7 将GDF转化为JSON 133
10.8 在D3.js环境下进行图谱可视化 135
10.9 小结 139
第11章 对Twitter数据进行情感分析 140
11.1 解析Twitter数据 140
11.1.1 tweet 140
11.1.2 粉丝 141
11.1.3 热门话题 141
11.2 使用OAuth访问API 142
11.3 开始使用Twython 143
11.3.1 简单查询 144
11.3.2 处理时间表 147
11.3.3 处理粉丝 149
11.3.4 处理地点和趋势信息 151
11.4 情感分类 153
11.4.1 ANEW 154
11.4.2 语料库 154
11.5 使用NLTK 155
11.5.1 单词包 156
11.5.2 朴素贝叶斯 156
11.5.3 tweet的情感分析 158
11.6 小结 159
第12章 使用MongoDB进行数据处理和聚合 160
12.1 开始使用MongoDB 160
12.1.1 数据库 161
12.1.2 集合 161
12.1.3 文件 162
12.1.4 Mongo shell 162
12.1.5 Insert/Update/Delete 163
12.1.6 Queries查询 163
12.2 数据准备 165
12.2.1 使用OpenRefine进行数据转换 165
12.2.2 通过PyMongo来插入文件 167
12.3 分组 169
12.4 聚合框架 172
12.4.1 流水线 173
12.4.2 表达式 174
12.5 小结 175
第13章 使用MapReduce方法 176
13.1 MapReduce概述 176
13.2 编程模型 177
13.3 在MongoDB中使用MapReduce 178
13.3.1 map函数 178
13.3.2 reduce函数 178
13.3.3 使用Mongo shell 179
13.3.4 使用UMongo 180
13.3.5 使用PyMongo 182
13.4 过滤输入集合 184
13.5 分组和聚合 184
13.6 文字云对tweet中最常见的积极词汇进行可视化 186
13.7 小结 191
第14章 使用IPython和Wakari进行在线数据分析 192
14.1 开始使用Wakari 192
14.2 开始使用IPython记事本 195
14.3 通过PIL进行图像处理简介 197
14.3.1 打开一个图像 197
14.3.2 图像直方图 198
14.3.3 过滤 198
14.3.4 操作 200
14.3.5 转化 201
14.4 使用Pandas 202
14.4.1 处理时间序列 202
14.4.2 通过数据框架来操作多变量数据集 206
14.4.3 分组、聚合和相关 208
14.5 使用IPython进行多机处理 211
14.6 分享你的记事本 212
14.7 小结 214
附录 环境搭建 215
· · · · · · (收起)
读后感
用户评价
这本书的排版简直是灾难,印刷质量也让人不敢恭维。拿到手的时候,我就感觉到一股廉价油墨的味道,内页纸张薄得跟餐巾纸似的,稍不留神就可能撕坏。更要命的是,里面的图表和代码示例,字体小得可怜,而且排版混乱不堪,很多地方的逻辑跳跃得让人摸不着头脑。作者似乎根本没有经过任何校对,错别字和语法错误随处可见,让人严重怀疑其专业性。我尝试着跟着书中的步骤走,结果很多地方的示例代码根本跑不起来,需要自己去猜想作者到底想表达什么,这简直是在浪费读者的时间。对于想认真学习某个技能的人来说,这样的书籍不仅没有帮助,反而会带来极大的挫败感。我花了大量时间去修正书中的明显错误,而不是真正去理解内容本身。如果你期望从一本印刷精良、内容严谨的教材中学习,这本书绝对会让你失望透顶。它的装帧设计毫无美感可言,封面设计平庸至极,仿佛是十几年前的盗版书水平。
我花了整整一个下午的时间试图理解其中关于时间序列模型的描述,结果简直是一头雾水。作者似乎默认读者已经具备了深厚的统计学背景,一上来就抛出了一大堆高深晦涩的术语,完全没有进行循序渐进的解释。那些被冠以“入门”之名的章节,实际上更像是给专业人士的快速参考手册。举个例子,在讲解某一特定算法的推导过程时,关键的数学步骤被完全省略了,直接跳到了结论,这对于初学者来说是致命的。我不得不去查阅其他更专业的教科书来填补这些知识空白,这完全违背了我购买这本书的初衷——我希望它能自成体系地解决我的学习需求。此外,书中的案例分析也显得过于理想化和脱离实际,数据来源含糊不清,得出的结论缺乏足够的论证支撑。如果要用一个词来形容这本书的深度,那就是“肤浅的堆砌”,它罗列了很多名词,但从未真正深入到“如何做”和“为什么这样做”的核心。对于那些渴望掌握扎实理论基础的读者,这本书提供的帮助微乎其微,更像是零散知识点的集合,缺乏一条清晰的主线来串联。
这本书的章节结构简直是随机拼凑起来的,完全看不出任何精心设计的学习路径。读起来感觉就像在翻阅一本厚厚的文档集锦,主题之间转换得生硬而突兀。比如,前一章还在讨论数据清洗的基础操作,下一章就突然跳到了高维数据可视化的高级技巧,中间完全没有过渡性的内容来帮助读者平稳过渡和建立联系。我最不能忍受的是,很多基础概念的解释分散在不同的章节中,导致我需要不停地翻阅前后章节来拼凑一个完整的概念画像,极大地破坏了阅读的连贯性和沉浸感。一个好的教程应该像引导者,逐步带领你深入,但这本书更像是把你扔进一个信息迷宫,让你自己去寻找出口。很多本应在早期就介绍的必备工具和环境配置,居然被零散地放在了最后几章,这使得初期尝试跟随实践的读者会遇到不必要的障碍。这种组织方式不仅低效,还严重考验读者的耐心和信息整合能力。
这本书的作者的写作语气过于傲慢和居高临下,读起来让人感到很不舒服。他似乎在用一种“我比你知道得多”的姿态来陈述观点,而不是以一种平等的、教育性的口吻来引导读者。很多地方,作者习惯于使用带有强烈主观色彩的断言,比如“任何有常识的人都会知道……”或者“显而易见的是……”,这种表达方式完全没有顾及到读者的知识差异,反而让人觉得作者在贬低读者的理解能力。此外,书中对新技术的介绍也显得非常滞后,似乎是基于几年前的知识框架编写的。在如今这个技术迭代飞快的领域,一本不包含最新最佳实践的书籍,其参考价值会大打折扣。我希望一本“实用”的书籍能够紧跟前沿,提供当前社区公认的、效率最高的方法论,而不是重复一些已经被更优解取代的陈旧模式。整体而言,这本书给我的感觉是:内容陈旧,态度傲慢,结构混乱,阅读体验极差,完全不值这个价钱。
我尝试在书中寻找任何与实际工作场景接轨的、能够立刻上手解决问题的方案,但发现它在这方面做得非常欠缺。书中的代码块虽然存在,但往往是孤立的、不完整的片段,缺乏将它们集成到一个完整项目流程中的指导。例如,它展示了如何调用某个库函数,但没有解释在真实数据项目中,你需要以何种频率和在哪个阶段调用它,以及调用后如何进行后续的错误处理和结果验证。这种“说明书式”的介绍,对于需要快速将理论转化为生产力的专业人士来说,价值大打折扣。我希望看到的是一个端到端(end-to-end)的案例,从原始数据的获取、预处理、模型构建,到最终的部署和报告生成,但这本书几乎没有提供任何这样的深度指导。它停留在对工具的介绍层面,而未能触及将这些工具系统化地应用于复杂业务问题的精髓。与其说是“实用”,不如说它只是对市面上各种工具的“目录式”罗列。
看到以上的书评,我翻白眼,我才不想要参考这样的书评。统计学、数学基础、以及python基础不好的同学,这本书不适合你们。原因一、整本书对基础原理的讲解不深入;原因二、书里的代码很多bug,比如第四章里定义的training函数,有一个for循环少了一个缩进,导致的结果就是,运行结束只对一条数据进行训练。 总的来说,这是一本译者、编者、校对十分不负责任的书
还凑合
2017看过,入门……
介绍了不同的应用场景下的不同分析模型,但是例子比较简单,介绍也不够深入,适合初学者了解数据分析的基础过程。
本书提供了一系列现实中将数据转化为洞察力的案例。书中覆盖了广泛的数据分析工具和算法,用于进行分类分析、聚类分析、数据可视化、数据模拟以及预测。本书的目标是帮助你了解数据从而找到相应的模式、趋势、相互关系以及洞察力。 书中所包括的实用项目充分利用了MongoDB、D3.js和Python语言并采用代码片段和详细描述的方式向读者呈现本书的核心概念。