具体描述
本书作为数据挖掘入门读物,介绍了数据挖掘的基础知识、基本工具和实践方法,通过循序渐进地讲解算法,带你轻松踏上数据挖掘之旅。本书采用理论与实践相结合的方式,呈现了如何使用决策树和随机森林算法预测美国职业篮球联赛比赛结果,如何使用亲和性分析方法推荐电影,如何使用朴素贝叶斯算法进行社会媒体挖掘,等等。本书也涉及神经网络、深度学习、大数据处理等内容。
作者简介
作者简介:
Robert Layton
计算机科学博士,网络犯罪问题和文本分析方面的专家。多年来一直热衷于Python编程,参与过scikit-learn库等很多开源库的开发,曾担任2014年度“谷歌编程之夏”项目导师。他曾与全球几大数据挖掘公司密切合作,挖掘真实数据并研发相关应用。他的公司dataPipeline为多个行业提供数据挖掘和数据分析解决方案。
译者简介:
杜春晓
英语语言文学学士,软件工程硕士。其他译著有《电子达人——我的第一本Raspberry Pi入门手册》《Python数据分析》。新浪微博:@宜_生。
目录信息
1.1 数据挖掘简介 1
1.2 使用Python和IPython Notebook 2
1.2.1 安装Python 2
1.2.2 安装IPython 4
1.2.3 安装scikit-learn库 5
1.3 亲和性分析示例 5
1.3.1 什么是亲和性分析 5
1.3.2 商品推荐 6
1.3.3 在NumPy中加载数据集 6
1.3.4 实现简单的排序规则 8
1.3.5 排序找出最佳规则 10
1.4 分类问题的简单示例 12
1.5 什么是分类 12
1.5.1 准备数据集 13
1.5.2 实现OneR算法 14
1.5.3 测试算法 16
1.6 小结 18
第2章 用scikit-learn估计器分类 19
2.1 scikit-learn估计器 19
2.1.1 近邻算法 20
2.1.2 距离度量 20
2.1.3 加载数据集 22
2.1.4 努力实现流程标准化 24
2.1.5 运行算法 24
2.1.6 设置参数 25
2.2 流水线在预处理中的应用 27
2.2.1 预处理示例 28
2.2.2 标准预处理 28
2.2.3 组装起来 29
2.3 流水线 29
2.4 小结 30
第3章 用决策树预测获胜球队 31
3.1 加载数据集 31
3.1.1 采集数据 31
3.1.2 用pandas加载数据集 32
3.1.3 数据集清洗 33
3.1.4 提取新特征 34
3.2 决策树 35
3.2.1 决策树中的参数 36
3.2.2 使用决策树 37
3.3 NBA比赛结果预测 37
3.4 随机森林 41
3.4.1 决策树的集成效果如何 42
3.4.2 随机森林算法的参数 42
3.4.3 使用随机森林算法 43
3.4.4 创建新特征 44
3.5 小结 45
第4章 用亲和性分析方法推荐电影 46
4.1 亲和性分析 46
4.1.1 亲和性分析算法 47
4.1.2 选择参数 47
4.2 电影推荐问题 48
4.2.1 获取数据集 48
4.2.2 用pandas加载数据 49
4.2.3 稀疏数据格式 49
4.3 Apriori算法的实现 50
4.3.1 Apriori算法 51
4.3.2 实现 52
4.4 抽取关联规则 54
4.5 小结 60
第5章 用转换器抽取特征 62
5.1 特征抽取 62
5.1.1 在模型中表示事实 62
5.1.2 通用的特征创建模式 64
5.1.3 创建好的特征 66
5.2 特征选择 67
5.3 创建特征 71
5.4 创建自己的转换器 75
5.4.1 转换器API 76
5.4.2 实现细节 76
5.4.3 单元测试 77
5.4.4 组装起来 79
5.5 小结 79
第6章 使用朴素贝叶斯进行社会媒体挖掘 80
6.1 消歧 80
6.1.1 从社交网站下载数据 81
6.1.2 加载数据集并对其分类 83
6.1.3 Twitter数据集重建 87
6.2 文本转换器 90
6.2.1 词袋 91
6.2.2 N元语法 92
6.2.3 其他特征 93
6.3 朴素贝叶斯 93
6.3.1 贝叶斯定理 93
6.3.2 朴素贝叶斯算法 94
6.3.3 算法应用示例 95
6.4 应用 96
6.4.1 抽取特征 97
6.4.2 将字典转换为矩阵 98
6.4.3 训练朴素贝叶斯分类器 98
6.4.4 组装起来 98
6.4.5 用F1值评估 99
6.4.6 从模型中获取更多有用的特征 100
6.5 小结 102
第7章 用图挖掘找到感兴趣的人 104
7.1 加载数据集 104
7.1.1 用现有模型进行分类 106
7.1.2 获取Twitter好友信息 107
7.1.3 构建网络 110
7.1.4 创建图 112
7.1.5 创建用户相似度图 114
7.2 寻找子图 117
7.2.1 连通分支 117
7.2.2 优化参数选取准则 119
7.3 小结 123
第8章 用神经网络破解验证码 124
8.1 人工神经网络 124
8.2 创建数据集 127
8.2.1 绘制验证码 127
8.2.2 将图像切分为单个的字母 129
8.2.3 创建训练集 130
8.2.4 根据抽取方法调整训练数据集 131
8.3 训练和分类 132
8.3.1 反向传播算法 134
8.3.2 预测单词 135
8.4 用词典提升正确率 138
8.4.1 寻找最相似的单词 138
8.4.2 组装起来 139
8.5 小结 140
第9章 作者归属问题 142
9.1 为作品找作者 142
9.1.1 相关应用和使用场景 143
9.1.2 作者归属 143
9.1.3 获取数据 144
9.2 功能词 147
9.2.1 统计功能词 148
9.2.2 用功能词进行分类 149
9.3 支持向量机 150
9.3.1 用SVM分类 151
9.3.2 内核 151
9.4 字符N元语法 152
9.5 使用安然公司数据集 153
9.5.1 获取安然数据集 153
9.5.2 创建数据集加载工具 154
9.5.3 组装起来 158
9.5.4 评估 158
9.6 小结 160
第10章 新闻语料分类 161
10.1 获取新闻文章 161
10.1.1 使用Web API获取数据 162
10.1.2 数据资源宝库reddit 164
10.1.3 获取数据 165
10.2 从任意网站抽取文本 167
10.2.1 寻找任意网站网页中的主要内容 167
10.2.2 组装起来 168
10.3 新闻语料聚类 170
10.3.1 k-means算法 171
10.3.2 评估结果 173
10.3.3 从簇中抽取主题信息 175
10.3.4 用聚类算法做转换器 175
10.4 聚类融合 176
10.4.1 证据累积 176
10.4.2 工作原理 179
10.4.3 实现 180
10.5 线上学习 181
10.5.1 线上学习简介 181
10.5.2 实现 182
10.6 小结 184
第11章 用深度学习方法为图像中的物体进行分类 185
11.1 物体分类 185
11.2 应用场景和目标 185
11.3 深度神经网络 189
11.3.1 直观感受 189
11.3.2 实现 189
11.3.3 Theano简介 190
11.3.4 Lasagne简介 191
11.3.5 用nolearn实现神经网络 194
11.4 GPU优化 197
11.4.1 什么时候使用GPU进行
计算 198
11.4.2 用GPU运行代码 198
11.5 环境搭建 199
11.6 应用 201
11.6.1 获取数据 201
11.6.2 创建神经网络 202
11.6.3 组装起来 204
11.7 小结 205
第12章 大数据处理 206
12.1 大数据 206
12.2 大数据应用场景和目标 207
12.3 MapReduce 208
12.3.1 直观理解 209
12.3.2 单词统计示例 210
12.3.3 Hadoop MapReduce 212
12.4 应用 212
12.4.1 获取数据 213
12.4.2 朴素贝叶斯预测 215
12.5 小结 226
附录 接下来的方向 227
· · · · · · (收起)
读后感
本书作为数据挖掘入门读物,介绍了数据挖掘的基础知识、基本工具和实践方法,通过循序渐进地讲解算法,带你轻松踏上数据挖掘之旅。本书采用理论与实践相结合的方式,呈现了如何使用决策树和随机森林算法预测美国职业篮球联赛比赛结果,如何使用亲和性分析方法推荐电影,如何使...
本书作为数据挖掘入门读物,介绍了数据挖掘的基础知识、基本工具和实践方法,通过循序渐进地讲解算法,带你轻松踏上数据挖掘之旅。本书采用理论与实践相结合的方式,呈现了如何使用决策树和随机森林算法预测美国职业篮球联赛比赛结果,如何使用亲和性分析方法推荐电影,如何使...
本书作为数据挖掘入门读物,介绍了数据挖掘的基础知识、基本工具和实践方法,通过循序渐进地讲解算法,带你轻松踏上数据挖掘之旅。本书采用理论与实践相结合的方式,呈现了如何使用决策树和随机森林算法预测美国职业篮球联赛比赛结果,如何使用亲和性分析方法推荐电影,如何使...
本书作为数据挖掘入门读物,介绍了数据挖掘的基础知识、基本工具和实践方法,通过循序渐进地讲解算法,带你轻松踏上数据挖掘之旅。本书采用理论与实践相结合的方式,呈现了如何使用决策树和随机森林算法预测美国职业篮球联赛比赛结果,如何使用亲和性分析方法推荐电影,如何使...
本书作为数据挖掘入门读物,介绍了数据挖掘的基础知识、基本工具和实践方法,通过循序渐进地讲解算法,带你轻松踏上数据挖掘之旅。本书采用理论与实践相结合的方式,呈现了如何使用决策树和随机森林算法预测美国职业篮球联赛比赛结果,如何使用亲和性分析方法推荐电影,如何使...
用户评价
阅读体验方面,这本书的排版和插图设计也值得称赞。尽管内容技术性很强,但整体阅读起来并不费神。页边距适中,代码块的字体选择了等宽字体,高亮显示也做得恰到好处,使得代码和正文的界限非常清晰,避免了阅读疲劳。有一点非常贴心的是,对于一些复杂的概念,比如K-Means聚类的肘部法则,作者不仅提供了文字解释,还配上了一张动态过程的示意图(尽管是静态印刷品,但意境是有的),让我对算法的收敛过程有了更直观的理解。更让我欣赏的是,作者在引用外部资料或推荐工具时,都会给出明确的链接或名称,这使得我可以顺藤摸瓜,对感兴趣的部分进行更深入的拓展学习。我发现自己经常在阅读某个章节后,会立刻打开电脑,按照书中的指引去尝试那些推荐的Jupyter Notebook模板。这种即时反馈的学习模式,极大地增强了我的学习动力。这本书的用心之处,体现在每一个细节的打磨上,让人感觉自己不是在读一本冰冷的教材,而是在进行一次精心设计的学习旅程。
这本书最大的亮点之一,是它对无监督学习和降维技术的讲解深度,这部分通常是很多入门书籍的薄弱环节。在我看来,数据挖掘的精髓往往在于发现未知,而不仅仅是验证已知,因此聚类和降维至关重要。作者对主成分分析(PCA)的介绍,不仅仅停留在“找到方差最大的方向”这个层面,而是深入讲解了如何通过协方差矩阵的特征值和特征向量来确定保留的维度数量,并展示了在实际数据集中,降维后如何通过可视化工具(如t-SNE)来观察数据结构的变化。特别是在处理高维文本数据时,书中用一个具体的例子展示了如何结合奇异值分解(SVD)进行潜在语义分析(LSA),虽然涉及到一些线性代数的概念,但作者的阐述方式非常注重业务逻辑的连贯性,让抽象的数学工具完美地服务于数据理解的目的。读完这部分内容,我感觉自己对如何从海量无标签数据中提取隐藏信息有了一个全新的、更具操作性的认识,这对我目前负责的产品用户分群项目起到了关键性的指导作用。
这本书的封面设计得非常简洁大气,黑白为主色调,标题“Python数据挖掘入门与实践”印在中央,字体选择既现代又不失稳重,让人一看就知道是本实打实的工具书。初次翻开这本书,我最直观的感受是它的结构安排非常合理。作者似乎非常理解初学者的困境,开篇并没有直接抛出复杂的算法,而是花了不少篇幅来铺垫Python的基础环境搭建和常用的科学计算库,比如NumPy和Pandas的深度解析。我记得光是Pandas的数据结构操作,书中就用了好几页图文并茂的例子来解释Series和DataFrame的各种操作,远比我之前在网上零散学到的要系统得多。尤其是关于数据清洗和预处理的部分,简直是宝典级别的存在。书中详细介绍了如何处理缺失值、异常值,以及如何进行特征工程,作者提供的代码示例清晰易懂,可以直接复制运行,这对于我这种动手能力较强但理论基础略显薄弱的读者来说,简直是福音。我用书里的方法处理了我手头一个棘手的项目数据,效果立竿见影,数据质量得到了极大的提升,这让我对后续的学习充满了信心。总的来说,这本书的开篇布局和基础知识的讲解扎实得让人安心,没有丝毫的浮夸成分,完全是脚踏实地的技术指导。
这本书最让我感到惊艳的是它在讲解高级主题时的那种抽丝剥茧的能力。很多数据挖掘的书读到后面就变得晦涩难懂,充斥着各种数学公式的推导,让人望而却步,但这本书却巧妙地将理论与实践紧密结合了起来。比如在介绍决策树和随机森林时,作者没有简单地罗列ID3、C4.5或CART算法的公式,而是通过一个现实中的分类问题实例,一步步地展示了模型是如何构建、参数是如何调整的。书中穿插了大量的Scikit-learn库的使用技巧,讲解得非常细致,包括各种评估指标(如准确率、召回率、F1分数)的含义以及如何在不同业务场景下进行取舍。更重要的是,它教会了我们如何批判性地看待模型的结果,而不是盲目相信数字。书中专门开辟了一个章节讨论模型的可解释性问题,这一点在很多入门书籍中是被忽略的。我尝试用书中提到的SHAP值方法去解释一个复杂的预测模型,竟然能清晰地看到是哪些特征在推动最终的预测结果,这对于我向非技术背景的领导汇报工作时,提供了极大的帮助,让他们不再觉得数据挖掘是个“黑箱”。这种注重实战应用和结果解释的教学思路,无疑大大提升了本书的价值。
如果说有什么可以稍微提议改进的地方,那可能是在深度学习在数据挖掘特定任务中的应用前沿部分,可以再稍作拓展。当然,我知道这本书的定位是“入门与实践”,侧重于传统且稳健的机器学习方法,这本身无可厚非,而且书中对XGBoost和LightGBM的讲解已经非常到位,特别是参数调优的经验之谈,非常实用。然而,随着NLP和计算机视觉在数据挖掘领域的渗透越来越深,例如如何利用预训练的BERT模型进行特征提取,或者如何用CNN处理时间序列数据等,如果能增加一个简短的介绍章节,哪怕是作为一个“展望未来”的部分,想必会更加完善。不过,退一步讲,正是因为作者克制了对前沿热门的盲目追逐,才使得全书的重心聚焦在最核心、最可靠的数据挖掘技术栈上,这保证了本书的经久不衰的价值。对于任何希望建立坚实数据挖掘基础的人来说,这本书提供的知识体系框架是无懈可击的,它教会你的不仅仅是“怎么做”,更是“为什么这样做”,这种思维方式的培养,远比记住几行代码要宝贵得多。
例子的讲解有些还不是很清楚,但是可以看看,作为拓展眼界也是可以的,要都看懂的话,数学基础也是需要具备的
入门读物。原理讲解少
很详细,只是代码不一定能运行,得查一下Github
入门读物。原理讲解少
实用性很强