具体描述
本书以Python 3版本作为数据分析与挖掘实战的应用工具,从Pyhton的基础语法开始,陆续介绍有关数值计算的Numpy、数据处理的Pandas、数据可视化的Matplotlib和数据挖掘的Sklearn等内容。全书共涵盖15种可视化图形以及10个常用的数据挖掘算法和实战项目,通过本书的学习,读者可以掌握数据分析与挖掘的理论知识和实战技能。
本书适于统计学、数学、经济学、金融学、管理学以及相关理工科专业的本科生、研究生使用,也能够提高从事数据咨询、研究或分析等人士的专业水平和技能。
作者简介
统计学硕士,“数据分析1480”微信公众号运营者。曾就职于大数据咨询公司,为联想、亨氏、美丽田园、网鱼网咖等企业项目提供服务;曾在唯品会大数据部担任数据分析师一职,负责电商支付环节的数据分析业务。
目录信息
1.1 什么是数据分析和挖掘 1
1.2 数据分析与挖掘的应用领域 1
1.2.1 破坏规则的“害群之马” 1
1.2.2 完美的动态定价营销法 2
1.2.3 抗癌八年的乔布斯 2
1.3 数据分析与挖掘的区别 3
1.4 数据挖掘的流程 4
1.4.1 明确目标 4
1.4.2 数据搜集 5
1.4.3 数据清洗 5
1.4.4 构建模型 6
1.4.5 模型评估 6
1.5 常用的数据分析与挖掘工具 7
1.6 篇章总结 8
第2章 从收入的预测分析开始 9
2.1 下载与安装 9
2.1.1 Windows系统 9
2.1.2 Mac系统 11
2.1.3. Linux系统 12
2.2 基于Python的案例实战 13
2.2.1 数据的预处理 13
2.2.2 数据的探索性分析 14
2.2.3 数据建模 17
2.3 篇章总结 25
第3章 Python入门基础 27
3.1 数据结构及方法 27
3.1.1 列表 27
3.1.2 元组 32
3.1.3 字典 32
3.2 控制流 35
3.2.1 if分支 35
3.2.2 for循环 36
3.2.3 while循环 38
3.3 字符串处理方法 39
3.3.1 字符串的常用方法 39
3.3.2 正则表达式 41
3.4 自定义函数 43
3.4.1 自定义函数语法 43
3.4.2 自定义函数的几种参数 45
3.5 一个爬虫案例 48
3.6 篇章总结 50
第4章 Python数值计算工具—Numpy 52
4.1 数组的创建与操作 52
4.1.1 数组的创建 52
4.1.2 数组元素的获取 53
4.1.3 数组的几个属性 54
4.1.4 数组的形状处理 55
4.2 数组的基本运算符 57
4.2.1 四则运算 57
4.2.2 比较运算 59
4.2.3 广播运算 60
4.3 常用的数学和统计函数 61
4.4 线性代数的相关计算 63
4.5 伪随机数的生成 66
4.6 篇章总结 69
第5章 Python数据处理工具--Pandas 70
5.1 序列与数据框的构造 70
5.1.1 构造序列 70
5.1.2 构造数据框 72
5.2 外部数据的读取 73
5.2.1 文本文件的读取 73
5.2.2 电子表格的读取 75
5.2.3 数据库数据的读取 76
5.3 数据类型转换及描述统计 78
5.4 字符与日期数据的处理 81
5.5 常用的数据清洗方法 84
5.5.1 重复观测处理 84
5.5.2 缺失值处理 85
5.5.3 异常值处理 88
5.6 数据子集的获取 90
5.7 透视表功能 92
5.8 表之间的合并与连接 94
5.9 分组聚合操作 96
5.10 篇章总结 98
第6章 Python数据可视化 100
6.1 离散型变量的可视化 100
6.1.1 饼图 100
6.1.2 条形图 105
6.2 数值型变量的可视化 113
6.2.1 直方图与核密度曲线 113
6.2.2 箱线图 117
6.2.3 小提琴图 120
6.2.4 折线图 122
6.3 关系型数据的可视化 126
6.3.1 散点图 126
6.3.2 气泡图 129
6.4 多个图形的合并 132
6.5 篇章总结 134
第7章 线性回归预测模型 136
7.1 一元线性回归模型 136
7.1.1 拟合线的求解 137
7.2 多元线性回归模型 139
7.2.1 回归模型的参数求解 139
7.2.2 回归模型的预测 140
7.3 回归模型的假设检验 142
7.3.1 模型的显著性检验--F检验 143
7.3.2 回归系数的显著性检验--t检验 145
7.4 回归模型的诊断 146
7.4.1 正态性检验 147
7.4.2 多重共线性检验 149
7.4.3 线性相关性检验 150
7.4.4 异常值检验 151
7.4.5 独立性检验 154
7.4.6 方差齐性检验 154
7.5 篇章总结 156
第8章 岭回归与LASSO回归模型 158
8.1 岭回归模型 158
8.1.1 参数求解 159
8.1.2 系数求解的几何意义 160
8.2 岭回归模型的应用 161
8.2.1 可视化方法确定λ值 161
8.2.2 交叉验证法确定λ值 162
8.2.3 模型的预测 164
8.3 LASSO回归模型 165
8.3.1 参数求解 165
8.3.2 系数求解的几何意义 166
8.4 LASSO回归模型的应用 167
8.4.1 可视化方法确定λ值 167
8.4.2 交叉验证法确定λ值 169
8.4.3 模型的预测 170
8.5 篇章总结 171
第9章 Logistic回归分类模型 173
9.1 Logistic模型的构建 173
9.1.1 Logistic模型的参数求解 175
9.1.2 Logistic模型的参数解释 177
9.2 分类模型的评估方法 178
9.2.1 混淆矩阵 178
9.2.2 ROC曲线 179
9.2.3 K-S曲线 180
9.3 Logistic回归模型的应用 182
9.3.1 模型的构建 182
9.3.2 模型的预测 184
9.3.3 模型的评估 184
第10章 决策树与随机森林 190
10.1 节点字段的选择 191
10.1.1 信息增益 191
10.1.2 信息增益率 193
10.1.3 基尼指数 195
10.2 决策树的剪枝 197
10.2.1 误差降低剪枝法 198
10.2.2 悲观剪枝法 198
10.2.3 代价复杂度剪枝法 199
10.3 随机森林 200
10.3.1 随机森林的思想 200
10.4 决策树与随机森林的应用 202
10.4.1 分类问题的解决 202
10.4.2 预测问题的解决 208
第11章 KNN模型的应用 212
11.1 KNN算法的思想 212
11.2 最佳k值的选择 213
11.3 相似度的度量方法 213
11.3.1 欧式距离 214
11.3.2 曼哈顿距离 214
11.3.3 余弦相似度 215
11.3.4 杰卡德相似系数 215
11.4 近邻样本的搜寻方法 216
11.4.1 KD树搜寻法 217
11.4.2 球树搜寻法 220
11.5 KNN模型的应用 221
11.5.1 分类问题的解决 222
11.5.2 预测问题的解决 226
第12章 朴素贝叶斯模型 230
12.1 朴素贝叶斯理论基础 230
12.2 几种贝叶斯模型 231
12.2.1 高斯贝叶斯分类器 231
12.2.2 高斯贝叶斯分类器的应用 233
12.2.3 多项式贝叶斯分类器 236
12.2.4 多项式贝叶斯分类器的应用 237
12.2.4 伯努利贝叶斯分类器 240
12.3 篇章总结 245
第13章 SVM模型的应用 247
13.1 SVM的简介 247
13.1.1 距离公式的介绍 248
13.1.2 SVM的实现思想 249
13.2 几种常见的SVM模型 250
13.2.1 线性可分的SVM 250
13.2.2 一个手工计算的案例 253
13.2.3 近似线性可分SVM 255
13.2.4 非线性可分SVM 258
13.2.5 几种常用的SVM核函数 260
13.2.6 SVM的回归预测 261
13.3 分类问题的解决 263
13.4 预测问题的解决 265
13.5 篇章总结 268
第14章 GBDT模型的应用 270
14.1 提升树算法 270
14.1.1 AdaBoost算法的损失函数 271
14.1.2 AdaBoost算法的操作步骤 272
14.1.3 AdaBoost算法的简单例子 273
14.1.4 AdaBoost算法的应用 275
14.2 梯度提升树算法 280
14.2.1 GBDT算法的操作步骤 281
14.2.2 GBDT分类算法 281
14.2.3 GBDT回归算法 282
14.2.4 GBDT算法的应用 283
14.3 非平衡数据的处理 285
14.4 XGBoost算法 287
14.4.1 XGBoost算法的损失函数 287
14.4.2 损失函数的演变 288
14.4.3 XGBoost算法的应用 291
14.5 篇章总结 296
第15章 KMeans聚类分析 298
15.1 KMeans聚类 298
15.1.1 KMeans的思想 298
15.1.2 KMeans的原理 300
15.2 最佳k值的确定 300
15.2.1 拐点法 301
15.2.2 轮廓系数法 303
15.2.3 Gap Statistic 305
15.3 Kmeans聚类的应用 307
15.3.1 iris数据集的聚类 307
15.3.2 NBA球员数据集的聚类 310
15.4 Kmeans聚类的注意事项 314
15.5 篇章总结 314
第16章 DBSCAN与层次聚类分析 315
16.1 密度聚类简介 315
16.1.1 密度聚类相关的几个概念 315
16.1.2 密度聚类的步骤 317
16.2 密度聚类与KMeans的比较 318
16.3 层次聚类 322
16.3.1 簇间的距离度量 322
16.3.2 层次聚类的步骤 324
16.3.3 三种层次聚类的比较 325
16.4 密度聚类与层次聚类的应用 327
16.5 篇章总结 333
· · · · · · (收起)
读后感
用户评价
这本书的深度和广度都超出了我的预期。我原本以为这会是一本偏向理论讲解的书籍,但实际上,它在实操层面的指导非常到位。光是关于数据清洗和预处理的部分,作者就提供了多种不同的思路和代码实现,让我领略到解决同一个问题时可以有如此多的可能性。作者对各种主流数据分析工具和库的介绍也非常到位,不仅讲解了如何使用,更深入地探讨了它们背后的工作原理。尤其是关于数据可视化的章节,不仅展示了如何绘制美观的图表,还教会了我如何通过图表来有效地传达数据背后的故事和洞察。这种既注重“术”又兼顾“道”的写作风格,让这本书的含金量大大提升。它不仅仅是一本工具书,更像是一本结合了实践经验的宝典,对我提升数据分析的综合能力帮助巨大。
真正让我惊喜的是,这本书并没有止步于技术层面,它还融入了许多关于数据伦理和业务理解的讨论。作者不止一次强调了数据分析结果的客观性和负责任性,这在当前的行业环境中显得尤为重要。通过书中穿插的案例分析,我不仅学会了如何操作工具,更重要的是,学会了如何以一个数据分析师的思维去看待问题、定义问题。它教会了我如何将业务需求转化为可执行的数据分析任务,以及如何将复杂的技术分析结果转化为管理层可以理解的商业建议。这种软技能的培养,是很多纯技术书籍所欠缺的,也正是这本书的价值所在,它让我从一个单纯的代码执行者,逐渐向一个能够提供决策支持的分析师转变。
这本书的排版和阅读体验也值得称赞。纸张质量上乘,印刷清晰,即使长时间阅读也不会感到眼睛疲劳。章节之间的逻辑过渡自然流畅,使得即便是面对相对复杂的概念,也能保持专注力。我发现自己很少需要频繁地在不同章节间来回翻阅查找信息,这说明作者的结构布局是经过精心设计的。此外,书中的术语对照表和重要的代码块高亮处理,也极大地便利了查找和回顾。在学习的间隙,合上书本回顾一下关键概念,那种清晰的脉络感非常棒。这本实体书的阅读体验,远胜于很多在线学习资料的碎片化阅读,它提供了一种沉浸式的、系统性的学习环境,非常适合希望系统性掌握知识的读者。
作为一名有着一定编程基础的学习者,我更看重的是代码的规范性和效率。这本书在这方面做得非常出色。代码示例清晰、注释详尽,而且很多地方都体现了作者在实际项目中积累的优化经验。例如,在处理大数据集时,书中介绍的内存优化技巧和并行处理方法,对于提升分析效率至关重要。更难得的是,作者在讲解算法时,不仅仅是给出公式,还结合 Python 的实现,剖析了算法的优缺点和适用场景。这种由浅入深、理论与代码紧密结合的讲解模式,让我对数据挖掘的核心算法有了更深层次的理解。它有效地弥补了我过去在理论理解和工程实践之间存在的鸿沟,真正做到了理论指导实践,实践反哺理论的良性循环。
这本书的封面设计很有吸引力,色彩搭配和谐,看起来既专业又不失亲和力。拿到手后,我立刻被它扎实的结构和清晰的目录吸引住了。作者显然在内容组织上花费了大量心血,从基础概念的引入,到逐步深入到复杂的数据处理和模型建立,整个学习路径设计得非常流畅自然。我尤其欣赏它在讲解每一个知识点时所采用的详实案例,这些案例贴近实际工作场景,让我很快就能理解理论知识在实践中的应用方式。对于一个初学者来说,这本书无疑提供了一个非常友好的起点,它没有过多地堆砌晦涩难懂的术语,而是用易于理解的语言,耐心地引导读者一步步掌握数据分析的核心技能。阅读过程中,我感觉自己像是在一位经验丰富的导师的带领下进行学习,每一步都有明确的指导和及时的反馈。这种脚踏实地的教学方式,极大地增强了我学习的信心。
东拼西凑,各章节直接毫无连贯性,我也是服了
不要看硕士写的书(逃
是一本手把手的实践式入门教材,循循善诱。主要包括数据分析的行业认知、数据挖掘的工作内容、算法的概述、模型核心逻辑的数学解释、模型常用包的参数解释、模型参数的选择和调优、模型的应用实例分析,包括详尽的代码行。Python确实非常适合教学。
东拼西凑,各章节直接毫无连贯性,我也是服了
东拼西凑,各章节直接毫无连贯性,我也是服了