Python数据挖掘入门与实践 第2版
作者:(澳)罗伯特 莱顿(Robert Layton)
出版时间: 2020年版
内容简介
本书以实践为宗旨,对数据挖掘进行了详细地入门引导。本书囊括了比赛结果预测、电影推荐、特征提取、好友推荐、破解验证码、作者归属、新闻聚类等大量经典案例,并以此为基础提供了大量练习和额外活动。在练习中,本书介绍了数据挖掘的基本工具和基本方法;在额外活动中,本书为深入了解数据挖掘指明了方向。本书适合希望应用Python进行数据挖掘的程序员阅读。
目录
第 1 章 数据挖掘入门 1
1.1 什么是数据挖掘 1
1.2 使用 Python 和 Jupyter Notebook 3
1.2.1 安装 Python 3
1.2.2 安装 Jupyter Notebook 4
1.2.3 安装 scikit-learn 5
1.3 亲和性分析的简单示例 6
1.4 商品推荐 6
1.4.1 用NumPy 加载数据集 7
1.4.2 实现规则的简单排序 9
1.4.3 挑选最佳规则 11
1.5 分类的简单示例 13
1.6 什么是分类 14
1.6.1 准备数据集 14
1.6.2 实现 OneR 算法 15
1.6.3 测试算法功能 17
1.7 本章小结 19
第 2 章 用 scikit-learn 估计器 解决分类问题 20
2.1 scikit-learn 估计器 20
2.1.1 最近邻算法 21
2.1.2 距离度量 22
2.1.3 加载数据集 24
2.1.4 形成标准的工作流程 25
2.1.5 运行算法 26
2.1.6 设置参数 27
2.2 预处理 29
2.2.1 标准预处理 30
2.2.2 组装成型 31
2.3 流水线 31
2.4 本章小结 32
第 3 章 用决策树预测获胜球队 34
3.1 加载数据集34
3.1.1 收集数据35
3.1.2 用 pandas 加载数据集 35
3.1.3 清洗数据集 36
3.1.4 提取新特征 37
3.2 决策树 39
3.2.1 决策树的参数 40
3.2.2 决策树的使用 41
3.3 体育赛事结果预测 42
3.4 随机森林 45
3.4.1 集成学习原理 46
3.4.2 设置随机森林的参数 46
3.4.3 应用随机森林 47
3.4.4 创建特征 48
3.5 本章小结 49
第 4 章 用亲和性分析推荐电影 50
4.1 亲和性分析 50
4.1.1 亲和性分析算法 51
4.1.2 总体方法 52
4.2 电影推荐问题 52
4.3 Apriori 算法的原理与实现 54
4.3.1 Apriori 算法的基本思路 56
4.3.2 实现 Apriori 算法 57
4.3.3 提取关联规则 59
4.3.4 评估关联规则 62
4.4 本章小结 64
第 5 章 特征与 scikit-learn 转换器 65
5.1 特征提取 65
5.1.1 用模型表述现实 66
5.1.2 常见的特征模式 68
5.1.3 创建好的特征 71
5.2 特征的选取 71
5.3 特征创建 76
5.4 主成分分析 78
5.5 创建自己的转换器 80
5.5.1 转换器 API 81
5.5.2 实现转换器 81
5.6 单元测试 82
5.7 组装成型 83
5.8 本章小结 84
第 6 章 用朴素贝叶斯算法探索社交
媒体 85
6.1 消歧 85
6.2 从社交媒体下载数据 87
6.2.1 加载数据集并分类 89
6.2.2 创建可重现的 Twitter 数据集 92
6.3 文本转换器 95
6.3.1 词袋模型 95
6.3.2 n 元语法特征 96
6.3.3 其他文本特征 97
6.4 朴素贝叶斯 98
6.4.1 理解贝叶斯定理 98
6.4.2 朴素贝叶斯算法 99
6.4.3 原理展示 100
6.5 朴素贝叶斯的应用 101
6.5.1 提取单词计数 102
6.5.2 把字典转换成矩阵 103
6.5.3 组装成型 103
6.5.4 用 F1-score 评估算法 104
6.6 从模型中找出有用的特征 105
6.7 本章小结 107
第 7 章 用图挖掘实现推荐关注 109
7.1 加载数据集 109
7.2 从 Twitter 获取关注者信息 113
7.3 创建图 116
7.4 寻找子图 122
7.4.1 连通分量 122
7.4.2 优化准则 125
7.5 本章小结 127
第 8 章 用神经网络识别验证码 129
8.1 人工神经网络 130
8.2 创建数据集 132
8.2.1 绘制简单的验证码 133
8.2.2 按字母分割图像 135
8.2.3 创建训练数据集 137
8.3 训练与分类 139
8.4 预测单词 143
8.4.1 用词典提升准确率 146
8.4.2 单词相似度的排名机制 146
8.4.3 组装成型 147
8.5 本章小结 148
第 9 章 作者归属问题 149
9.1 文档的作者归属 149
9.1.1 应用与场景 150
9.1.2 作者归属 151
9.2 获取数据 152
9.3 功能词的使用 155
9.3.1 统计功能词 156
9.3.2 用功能词分类 158
9.4 支持向量机 159
9.4.1 用支持向量机分类 160
9.4.2 核函数 160
9.5 字符 n 元语法 161
9.6 安然(Enron)数据集 162
9.6.1 获取安然数据集 163
9.6.2 创建数据集加载函数 163
9.7 组装成型 166
9.8 评估 166
9.9 本章小结 168
第 10 章 聚类新闻文章 169
10.1 发现热门话题 169
10.1.1 用 Web API 获取数据 170
10.1.2 把 reddit 作为数据源 172
10.1.3 获取数据 173
10.2 从任意网站提取文本 175
10.2.1 寻找任意网站中的新闻报道内容 176
10.2.2 提取内容 177
10.3 为新闻文章分组 179
10.4 k-均值算法 179
10.4.1 评估结果 182
10.4.2 从聚类簇中提取话题信息 184
10.4.3 把聚类算法作为转换器 185
10.5 聚类集成 185
10.5.1 证据积累方法 185
10.5.2 工作原理 188
10.5.3 算法实现 190
10.6 在线学习 191
10.7 本章小结 194
第 11 章 用深度神经网络实现图像中的对象检测 195
11.1 对象分类 195
11.2 应用场景 197
11.3 深度神经网络 199
11.3.1 直观感受 199
11.3.2 实现深度神经网络 200
11.4 TensorFlow 简介 201
11.5 使用 Keras 204
11.6 GPU 优化 210
11.6.1 适用 GPU 的计算场景 211
11.6.2 在 GPU 上运行代码 212
11.6.3 设置环境 213
11.7 应用 214
11.7.1 获取数据 214
11.7.2 创建神经网络 215
11.7.3 组装成型 216
11.8 本章小结 217
第 12 章 大数据处理 219
12.1 大数据 219
12.2 MapReduce 222
12.2.1 直观感受 223
12.2.2 Hadoop MapReduce 226
12.3 应用 MapReduce 227
12.4 朴素贝叶斯预测 229
12.5 提取博客文章 229
12.6 训练朴素贝叶斯 231
12.7 组装成型 235
12.8 在亚马逊 EMR 基础设施上训练 239
12.9 本章小结 241
附录 A 下一步工作 242
A.1 数据挖掘入门 242
A.1.1 scikit-learn 教程 242
A.1.2 扩展 Jupyter Notebook 242
A.1.3 更多数据集 243
A.1.4 其他评估指标 243
A.1.5 更多应用思路 243
A.2 用 scikit-learn 估计器解决分类问题 243
A.2.1 最近邻算法的伸缩性 244
A.2.2 更复杂的流水线 244
A.2.3 比较分类器 244
A.2.4 自动学习 244
A.3 用决策树预测获胜球队 245
A.3.1 更复杂的特征 245
A.3.2 Dask 246
A.3.3 研究 246
A.4 用亲和性分析推荐电影 246
A.4.1 新数据集 246
A.4.2 等价类变换算法 246
A.4.3 协同过滤 247
A.5 特征与 scikit-learn 转换器 247
A.5.1 增加噪声 247
A.5.2 Vowpal Wabbit 247
A.5.3 word2vec 247
A.6 用朴素贝叶斯算法探索社交媒体 247
A.6.1 垃圾信息检测 248
A.6.2 自然语言处理与词性标注 248
A.7 用图挖掘实现推荐关注 248
A.7.1 更复杂的算法 248
A.7.2 NetworkX 248
A.8 用神经网络识别验证码 249
A.8.1 更好(更坏?)的验证码 249
A.8.2 深度神经网络 249
A.8.3 强化学习 249
A.9 作者归属问题 249
A.9.1 增大样本 250
A.9.2 博客数据集 250
A.9.3 局部 n 元语法 250
A.10 聚类新闻文章 250
A.10.1 聚类的评估 250
A.10.2 时域分析 251
A.10.3 实时聚类 251
A.11 用深度神经网络实现图像中的对象检测 251
A.11.1 Mahotas 251
A.11.2 Magenta 251
A.12 大数据处理 252
A.12.1 Hadoop 课程 252
A.12.2 Pydoop 252
A.12.3 推荐引擎 252
A.12.4 W.I.L.L 252
A.13 更多资源 253
A.13.1 Kaggle 竞赛 253
A.13.2 Coursera 253