内容简介
本书提供了一系列将数据转化为重要结论的现实案例。书中覆盖了广泛的数据分析工具和算法,用于进行分类分析、聚类分析、数据可视化、数据模拟以及预测。本书的目标是帮助读者了解数据从而找到相应的模式、趋势、相互关系以及重要结论。书中所包括的实用项目充分利用了MongoDB、D3.js和Python语言,并采用代码片段和详细描述的方式呈现本书的核心概念。
目录
译者序
作者简介
审校者简介
前言
第1章 开始1
1.1 计算机科学1
1.2 人工智能2
1.3 机器学习2
1.4 统计学2
1.5 数学2
1.6 专业领域知识3
1.7 数据、信息和知识3
1.7.1 数据、信息和知识之间的相互性3
1.7.2 数据的本质4
1.8 数据分析过程5
1.8.1 问题6
1.8.2 数据准备6
1.8.3 数据探索7
1.8.4 预测建模7
1.8.5 结果可视化8
1.9 定量与定性数据分析9
1.10 数据可视化的重要性9
1.11 大数据10
1.12 自我量化12
1.12.1 传感器和摄像头12
1.12.2 社交网络分析13
1.13 本书的工具和练习13
1.13.1 为什么使用 Python14
1.13.2 为什么使用mlpy14
1.13.3 为什么使用D3.js14
1.13.4 为什么使用 MongoDB15
1.14 小结15
第2章 数据预处理16
2.1 数据源16
2.1.1 开源数据17
2.1.2 文本文件18
2.1.3 Excel文件18
2.1.4 SQL数据库18
2.1.5 NoSQL数据库19
2.1.6 多媒体20
2.1.7 网页检索20
2.2 数据清洗22
2.2.1 统计方法23
2.2.2 文本解析23
2.2.3 数据转化25
2.3 数据格式25
2.3.1 CSV26
2.3.2 JSON27
2.3.3 XML28
2.3.4 YAML29
2.4 数据归约30
2.4.1 过滤及抽样30
2.4.2 分箱算法30
2.4.3 降维31
2.5 开始使用OpenRefine工具32
2.5.1 text facet33
2.5.2 聚类33
2.5.3 文本过滤器34
2.5.4 numeric facet34
2.5.5 数据转化35
2.5.6 数据输出36
2.5.7 操作历史记录36
2.6 小结37
第3章 可视化38
3.1 可视化概述39
3.2 利用网页版的可视化39
3.3 探索科学可视化39
3.4 在艺术上的可视化40
3.5 可视化生命周期40
3.6 可视化不同类型的数据41
3.6.1 HTML41
3.6.2 DOM42
3.6.3 CSS42
3.6.4 JavaScript43
3.6.5 SVG43
3.7 开始使用D3.js43
3.7.1 柱状图44
3.7.2 饼图48
3.7.3 散点图50
3.7.4 单线图52
3.7.5 多线图55
3.8 交互与动画59
3.9 社交网络中的数据61
3.10 可视化分析的摘要62
3.11 小结62
第4章 文本分类63
4.1 学习和分类63
4.2 贝叶斯分类64
4.3 E-mail主题测试器65
4.4 数据66
4.5 算法68
4.6 分类器的准确性71
4.7 小结73
第5章 基于相似性的图像检索74
5.1 图像相似性搜索74
5.2 动态时间规整75
5.3 处理图像数据集77
5.4 执行DTW77
5.5 结果分析79
5.6 小结81
第6章 模拟股票价格82
6.1 金融时间序列82
6.2 随机漫步模拟83
6.3 蒙特卡罗方法84
6.4 生成随机数85
6.5 用D3.js实现86
6.6 计量分析师91
6.7 小结93
第7章 预测黄金价格94
7.1 处理时间序列数据94
7.2 平滑时间序列97
7.3 线性回归100
7.4 数据—历史黄金价格101
7.5 非线性回归101
7.5.1 核岭回归102
7.5.2 平滑黄金价格时间序列104
7.5.3 平滑时间序列的预测105
7.5.4 对比预测值106
7.6 小结107
第8章 使用支持向量机的方法进行分析108
8.1 理解多变量数据集109
8.2 降维111
8.2.1 线性无差别分析112
8.2.2 主成分分析112
8.3 使用支持向量机114
8.3.1 核函数115
8.3.2 双螺旋问题116
8.3.3 在mlpy中实现SVM116
8.4 小结119
第9章 应用细胞自动机的方法对传染病进行建模120
9.1 流行病学简介120
9.2 流行病模型122
9.2.1 SIR模型122
9.2.2 使用SciPy来解决SIR模型的常微分方程123
9.2.3 SIRS模型124
9.3 对细胞自动机进行建模125
9.3.1 细胞、状态、网格和邻域126
9.3.2 整体随机访问模型127
9.4 通过D3.js模拟CA中的SIRS模型127
9.5 小结135
第10章 应用社交图谱136
10.1 图谱的结构136
10.1.1 无向图137
10.1.2 有向图137
10.2 社交网络分析137
10.3 捕获Facebook图谱138
10.4 使用Gephi再现图谱139
10.5 统计分析142
10.6 度的分布144
10.6.1 图谱直方图145
10.6.2 集中度146
10.7 将GDF转化为JSON148
10.8 在D3.js环境下进行图谱可视化150
10.9 小结154
第11章 分析Twitter数据155
11.1 解析Twitter数据155
11.1.1 tweet156
11.1.2 粉丝156
11.1.3 热门话题156
11.2 使用OAuth访问Twitter API157
11.3 开始使用Twython158
11.3.1 利用Twython进行简单查询159
11.3.2 获取时间表数据163
11.3.3 获取粉丝数据165
11.3.4 获取地点和趋势信息167
11.3.5 获取用户数据168
11.3.6 API流169
11.4 小结171
第12章 使用MongoDB进行数据处理和聚合172
12.1 开始使用MongoDB172
12.1.1 数据库173
12.1.2 集合175
12.1.3 文件175
12.1.4 Mongo shell175
12.1.5 Insert/Update/Delete176
12.1.6 查询177
12.2 数据准备178
12.2.1 使用OpenRefine进行数据转换179
12.2.2 通过PyMongo插入文件180
12.3 分组182
12.4 聚合框架184
12.4.1 流水线184
12.4.2 表达式185
12.5 小结186
第13章 使用MapReduce方法188
13.1 MapReduce概述188
13.2 编程模型189
13.3 在MongoDB中使用MapReduce190
13.3.1 map函数190
13.3.2 reduce函数191
......
前言/序言
Preface本书提供了一系列将数据转化为重要结论的现实案例。书中覆盖了广泛的数据分析工具和算法,用于进行分类分析、聚类分析、数据可视化、数据模拟以及预测。本书旨在帮助读者了解数据从而找到相应的模式、趋势、相互关系以及重要结论。
书中所包括的实用项目充分利用了MongoDB、D3.js和Python语言,并采用代码片段和详细描述的方式呈现本书的核心概念。
本书主要内容第1章探讨数据分析的基本原理和数据分析步骤。
第2章解释如何清洗并准备好数据来开展分析,同时介绍数据清洗工具OpenRefine的使用方法。
第3章展示在JavaScript可视化框架下应用D3.js语言来实现各类数据的可视化方法。
第4章介绍应用朴素贝叶斯(Naive Bayes)算法来区分垃圾文本的一种二元分类法。
第5章展示一个应用动态时间规整方法来寻找图像间相似性的项目。
第6章解释如何使用随机漫步算法和可视化的D3.js动画技术来模拟股票价格。
第7章介绍核岭回归(Kernel Ridge Regression,KRR)的原理以及如何使用此方法和时间序列数据来预测黄金价格。
第8章描述如何使用支持向量机的方法进行分类分析。
第9章介绍对流行病进行模拟计算的基本概念并解释如何应用细胞自动机方法、D3.js和JavaScript语言来模拟流行病爆发。
第10章解释如何应用Gephi从Facebook获取社交媒体图谱并使之实现可视化。
第11章解释如何应用Twitter的应用程序编程接口(API)来获取Twitter的数据。读者也将看到如何改进文本分类分析方法并将其应用于情感分析。这一过程在自然语言工具包(Natural Language Toolkit, NLTK)中应用了朴素贝叶斯算法。
第12章介绍在MongoDB数据库中进行基本操作以及分组、过滤和聚合的方法。
第13章详细介绍如何在MongoDB数据库中应用MapReduce编程模型。
第14章解释如何使用Wakari平台,同时介绍在IPython中运用pandas进行数据处理和使用PIL图像处理库的方法。
第15章介绍如何在Cloudera VM上使用分布式文件系统及数据环境。最后,利用实际案例介绍Apache Spark的主要特征。
阅读准备使用本书需要掌握如下技术:
PythonOpenRefineD3.jsmlpyNLTKGephiMongoDB读者对象本书主要面向那些希望能够实际开展数据分析和数据可视化的软件开发人员、分析人员、计算机科学家。同时,本书也希望能够为读者提供包含时间序列数据、数值型数据、多维度数据和社交媒体数据、文本型数据等多种数据形式的实际案例,以帮助读者获得对数据分析的真知灼见。
读者不需要具备数据分析的经验,但仍需要对统计学和Python编程有基础性的了解。
下载本书相关资源读者可登录华章网站下载本书的相关资源。
数据洞察的艺术:解锁商业价值的密码 在信息爆炸的时代,数据已成为企业最宝贵的资产。然而,海量数据的堆积本身并不能带来价值,真正能够驱动决策、优化运营、激发创新的,是对这些数据进行深度挖掘、精准分析,并从中提炼出 actionable insights 的能力。本书并非一本技术手册,更不是枯燥的统计学理论堆砌。它是一本关于如何将数据转化为智慧、将洞察转化为行动的实战指南,致力于帮助读者掌握一套系统性的数据分析方法论,从而在竞争激烈的商业环境中脱颖而出。 我们生活在一个前所未有的数据驱动的时代。每一次线上点击、每一次线下交易、每一次用户互动,都在源源不断地产生着数据。这些数据如同未经雕琢的璞玉,蕴含着巨大的潜力,但也可能成为阻碍企业发展的绊脚石。如何有效地驯服这些数据,让它们为我们所用,是摆在每一位商业人士面前的严峻挑战。本书正是为此而生,它将带领你穿越数据迷雾,拨开技术迷雾,直抵数据核心,解锁其蕴藏的商业价值。 洞察的源泉:理解数据背后的业务逻辑 本书的核心在于强调,数据分析绝非孤立的技术实践,而是紧密围绕业务目标展开的。我们不鼓励盲目的技术追求,而是倡导从业务问题出发,以终为始,反推所需的数据及分析方法。这意味着,在展开任何分析之前,我们需要深刻理解企业的业务模式、核心痛点、战略目标以及面临的挑战。 例如,一家电商企业希望提升用户留存率。这背后涉及到用户的购物习惯、产品偏好、服务体验、营销活动的有效性等诸多因素。数据分析师需要与业务部门紧密合作,理解“用户留存”的具体含义(例如,是月活跃用户数,还是复购率,抑或是用户生命周期价值?),明确影响因素,然后才能设计出有针对性的数据收集和分析方案。 本书将带领你学习如何与业务人员有效沟通,如何提炼出清晰、可衡量的业务问题,并将其转化为能够通过数据回答的分析课题。我们将探讨如何识别关键业务指标(KPIs),如何理解这些指标之间的内在联系,以及如何利用数据分析来衡量和改进这些指标的表现。这不仅仅是技术层面的数据处理,更是商业智慧的体现。 分析的工具箱:精选实用方法与技巧 数据分析的工具和技术层出不穷,但并非所有工具都适用于所有场景。本书将聚焦于那些在实际商业环境中被证明行之有效的、具有普适性的分析方法和技巧。我们不会深入探讨复杂的算法模型(除非它们能直接服务于业务洞察),而是更侧重于如何运用这些方法来解决实际问题。 我们将介绍诸如: 描述性分析 (Descriptive Analytics): 了解“发生了什么”。这包括数据可视化、报表制作、趋势分析、异常检测等。例如,分析过去一个月的销售数据,了解哪些产品销量最好,哪些地区销售额最高,销售额的变化趋势如何。 诊断性分析 (Diagnostic Analytics): 探究“为什么会发生”。这涉及到钻取分析、关联分析、因果分析等。例如,当发现某产品销量突然下降时,通过诊断性分析找出可能的原因,是竞争对手推出新品?还是营销活动失效?或是产品质量出现问题? 预测性分析 (Predictive Analytics): 预估“将要发生什么”。这包括时间序列预测、回归分析、分类模型等。例如,预测未来一个季度的销售额,预测哪些客户有可能流失,预测哪些用户会购买特定产品。 规范性分析 (Prescriptive Analytics): 建议“应该怎么做”。这涉及到优化模型、模拟实验、推荐系统等。例如,根据预测结果,制定最优的促销策略,推荐最适合用户的产品,优化库存管理。 本书将通过大量的案例研究,展示如何将这些分析方法巧妙地应用于各种商业场景,例如市场营销、产品开发、客户关系管理、运营效率提升等。我们将强调不同分析方法的适用条件、优缺点以及如何选择最合适的工具来解决特定问题。 数据的驾驭者:从数据准备到洞察呈现 高质量的数据是所有有效分析的基础。本书将带领读者深入了解数据准备的关键步骤,这往往是数据分析过程中最耗时但也至关重要的一环。 我们将探讨: 数据收集与整合: 如何从不同的数据源(如数据库、API、日志文件、第三方数据)收集和整合数据,确保数据的一致性和完整性。 数据清洗与预处理: 如何处理缺失值、异常值、重复值,以及如何进行数据转换、标准化和归一化,使数据达到分析要求。 特征工程 (Feature Engineering): 如何从原始数据中创建出更具信息量的特征,以提升模型性能和分析的深度。例如,从用户购买记录中衍生出“平均订单价值”、“最近一次购买时间间隔”等特征。 数据分析的最终目的是为了将洞察清晰地传达给决策者。本书将花费大量篇幅讲解如何有效地进行数据可视化和报告撰写,让复杂的分析结果以直观、易懂的方式呈现。我们将介绍各种图表类型(如柱状图、折线图、散点图、热力图等)的适用场景,以及如何运用可视化工具来讲述数据故事,引导观众理解数据背后的含义,并促使他们采取行动。 分析的思维模式:培养数据驱动的决策习惯 本书的核心价值在于,它不仅仅传授技术和方法,更重要的是塑造一种数据驱动的思维模式。这意味着,在日常工作中,我们不再凭直觉或经验做决策,而是学会主动寻求数据的支持,用数据来验证假设,用数据来衡量结果。 我们将引导读者: 建立批判性思维: 质疑数据的来源、准确性和潜在的偏见,理解数据分析结果的局限性。 培养探索精神: 不满足于表面的分析,勇于深入挖掘数据,发现潜在的模式和关联。 强调迭代与优化: 数据分析是一个持续的过程,分析结果应被视为反馈,用于指导下一次分析和业务改进。 拥抱实验精神: 通过A/B测试等方法,科学地检验不同策略的效果,不断优化业务表现。 本书旨在帮助读者建立起一套完整的“数据分析生命周期”意识,从理解业务问题开始,到数据收集、清洗、分析、可视化,再到洞察的传达和业务的改进,形成一个良性循环。 适用人群 本书适合所有希望提升数据分析能力,以驱动业务增长的专业人士,包括但不限于: 业务分析师 (Business Analysts): 深入理解业务需求,并能用数据分析来解决实际问题。 市场营销人员 (Marketing Professionals): 优化营销活动,精准定位目标客户,提升ROI。 产品经理 (Product Managers): 理解用户行为,驱动产品创新,提升用户体验。 运营管理者 (Operations Managers): 提升运营效率,降低成本,优化流程。 初级数据分析师/数据科学家: 建立扎实的基础,掌握实用的分析方法。 各行业决策者: 学习如何更明智地利用数据来制定战略和管理决策。 无论您是刚刚踏入数据分析领域的新手,还是希望系统性梳理和提升自己数据分析能力的资深人士,本书都将为您提供宝贵的知识和实用的工具。我们相信,掌握数据分析的艺术,就是掌握解锁商业价值的密码,从而在瞬息万变的商业环境中,乘风破浪,取得辉煌的成就。