具体描述
在如今这个处处以数据驱动的世界中,机器学习正变得越来越大众化。它已经被广泛地应用于不同领域,如搜索引擎、机器人、无人驾驶汽车等。本书首先通过实用的案例介绍机器学习的基础知识,然后介绍一些稍微复杂的机器学习算法,例如支持向量机、极端随机森林、隐马尔可夫模型、条件随机场、深度神经网络,等等。
本书是为想用机器学习算法开发应用程序的Python 程序员准备的。它适合Python 初学者阅读,不过熟悉Python 编程方法对体验示例代码大有裨益。
作者简介
作者简介:
Prateek Joshi
人工智能专家,重点关注基于内容的分析和深度学习,曾在英伟达、微软研究院、高通公司以及硅谷的几家早期创业公司任职。
译者简介:
陶俊杰
长期从事数据分析工作,酷爱Python,每天都和Python面对面,乐此不疲。本科毕业于北京交通大学机电学院,硕士毕业于北京交通大学经管学院。曾就职于中国移动设计院,目前在京东任职。
陈小莉
长期从事数据分析工作,喜欢Python。本科与硕士毕业于北京交通大学电信学院。目前在中科院从事科技文献与专利分析工作。
目录信息
1.1 简介 1
1.2 数据预处理技术 2
1.2.1 准备工作 2
1.2.2 详细步骤 2
1.3 标记编码方法 4
1.4 创建线性回归器 6
1.4.1 准备工作 6
1.4.2 详细步骤 7
1.5 计算回归准确性 9
1.5.1 准备工作 9
1.5.2 详细步骤 10
1.6 保存模型数据 10
1.7 创建岭回归器 11
1.7.1 准备工作 11
1.7.2 详细步骤 12
1.8 创建多项式回归器 13
1.8.1 准备工作 13
1.8.2 详细步骤 14
1.9 估算房屋价格 15
1.9.1 准备工作 15
1.9.2 详细步骤 16
1.10 计算特征的相对重要性 17
1.11 评估共享单车的需求分布 19
1.11.1 准备工作 19
1.11.2 详细步骤 19
1.11.3 更多内容 21
第2章 创建分类器 24
2.1 简介 24
2.2 建立简单分类器 25
2.2.1 详细步骤 25
2.2.2 更多内容 27
2.3 建立逻辑回归分类器 27
2.4 建立朴素贝叶斯分类器 31
2.5 将数据集分割成训练集和测试集 32
2.6 用交叉验证检验模型准确性 33
2.6.1 准备工作 34
2.6.2 详细步骤 34
2.7 混淆矩阵可视化 35
2.8 提取性能报告 37
2.9 根据汽车特征评估质量 38
2.9.1 准备工作 38
2.9.2 详细步骤 38
2.10 生成验证曲线 40
2.11 生成学习曲线 43
2.12 估算收入阶层 45
第3章 预测建模 48
3.1 简介 48
3.2 用SVM建立线性分类器 49
3.2.1 准备工作 49
3.2.2 详细步骤 50
3.3 用SVM建立非线性分类器 53
3.4 解决类型数量不平衡问题 55
3.5 提取置信度 58
3.6 寻找最优超参数 60
3.7 建立事件预测器 62
3.7.1 准备工作 62
3.7.2 详细步骤 62
3.8 估算交通流量 64
3.8.1 准备工作 64
3.8.2 详细步骤 64
第4章 无监督学习——聚类 67
4.1 简介 67
4.2 用k-means算法聚类数据 67
4.3 用矢量量化压缩图片 70
4.4 建立均值漂移聚类模型 74
4.5 用凝聚层次聚类进行数据分组 76
4.6 评价聚类算法的聚类效果 79
4.7 用DBSCAN算法自动估算集群数量 82
4.8 探索股票数据的模式 86
4.9 建立客户细分模型 88
第5章 构建推荐引擎 91
5.1 简介 91
5.2 为数据处理构建函数组合 92
5.3 构建机器学习流水线 93
5.3.1 详细步骤 93
5.3.2 工作原理 95
5.4 寻找最近邻 95
5.5 构建一个KNN分类器 98
5.5.1 详细步骤 98
5.5.2 工作原理 102
5.6 构建一个KNN回归器 102
5.6.1 详细步骤 102
5.6.2 工作原理 104
5.7 计算欧氏距离分数 105
5.8 计算皮尔逊相关系数 106
5.9 寻找数据集中的相似用户 108
5.10 生成电影推荐 109
第6章 分析文本数据 112
6.1 简介 112
6.2 用标记解析的方法预处理数据 113
6.3 提取文本数据的词干 114
6.3.1 详细步骤 114
6.3.2 工作原理 115
6.4 用词形还原的方法还原文本的基本形式 116
6.5 用分块的方法划分文本 117
6.6 创建词袋模型 118
6.6.1 详细步骤 118
6.6.2 工作原理 120
6.7 创建文本分类器 121
6.7.1 详细步骤 121
6.7.2 工作原理 123
6.8 识别性别 124
6.9 分析句子的情感 125
6.9.1 详细步骤 126
6.9.2 工作原理 128
6.10 用主题建模识别文本的模式 128
6.10.1 详细步骤 128
6.10.2 工作原理 131
第7章 语音识别 132
7.1 简介 132
7.2 读取和绘制音频数据 132
7.3 将音频信号转换为频域 134
7.4 自定义参数生成音频信号 136
7.5 合成音乐 138
7.6 提取频域特征 140
7.7 创建隐马尔科夫模型 142
7.8 创建一个语音识别器 143
第8章 解剖时间序列和时序数据 147
8.1 简介 147
8.2 将数据转换为时间序列格式 148
8.3 切分时间序列数据 150
8.4 操作时间序列数据 152
8.5 从时间序列数据中提取统计数字 154
8.6 针对序列数据创建隐马尔科夫模型 157
8.6.1 准备工作 158
8.6.2 详细步骤 158
8.7 针对序列文本数据创建条件随机场 161
8.7.1 准备工作 161
8.7.2 详细步骤 161
8.8 用隐马尔科夫模型分析股票市场数据 164
第9章 图像内容分析 166
9.1 简介 166
9.2 用OpenCV-Pyhon操作图像 167
9.3 检测边 170
9.4 直方图均衡化 174
9.5 检测棱角 176
9.6 检测SIFT特征点 178
9.7 创建Star特征检测器 180
9.8 利用视觉码本和向量量化创建特征 182
9.9 用极端随机森林训练图像分类器 185
9.10 创建一个对象识别器 187
第10章 人脸识别 189
10.1 简介 189
10.2 从网络摄像头采集和处理视频信息 189
10.3 用Haar级联创建一个人脸识别器 191
10.4 创建一个眼睛和鼻子检测器 193
10.5 做主成分分析 196
10.6 做核主成分分析 197
10.7 做盲源分离 201
10.8 用局部二值模式直方图创建一个人脸识别器 205
第11章 深度神经网络 210
11.1 简介 210
11.2 创建一个感知器 211
11.3 创建一个单层神经网络 213
11.4 创建一个深度神经网络 216
11.5 创建一个向量量化器 219
11.6 为序列数据分析创建一个递归神经网络 221
11.7 在光学字符识别数据库中将字符可视化 225
11.8 用神经网络创建一个光学字符识别器 226
第12章 可视化数据 230
12.1 简介 230
12.2 画3D散点图 230
12.3 画气泡图 232
12.4 画动态气泡图 233
12.5 画饼图 235
12.6 画日期格式的时间序列数据 237
12.7 画直方图 239
12.8 可视化热力图 241
12.9 动态信号的可视化模拟 242
· · · · · · (收起)
读后感
用户评价
说实话,我是一个对代码细节特别较真的人,很多号称“实战”的书,代码跑起来总会遇到各种版本冲突或者环境配置的问题,让人心力交瘁。然而,这本《Python机器学习经典实例》在这一点上做得极其出色。我敢保证,我几乎没有在环境配置上浪费时间。作者显然在编写和测试代码时非常严谨,所有的库版本都经过了仔细的考量和说明。我印象特别深的是它对深度学习部分的处理,它没有一味地追求最新的、最复杂的网络结构,而是选择了一些经典且具有代表性的模型进行深入剖析,比如如何用TensorFlow搭建一个基础的卷积神经网络(CNN)来处理图像分类任务。书中对损失函数和优化器的选择也给出了非常直观的解释,而不是仅仅抛出一个名词。更值得称赞的是,它探讨了模型泛化能力的问题,书中有一个章节专门讲解了过拟合和欠拟合的识别与处理技巧,这对于我们日常建模来说是至关重要的实战经验。读完这个部分,我立刻回头优化了我正在进行的一个项目,效果立竿见影,数据稳定性大大增强。这绝不是一本光说不练的“花架子”书籍,它是真正经过了千锤百炼的代码集锦。
我是一个偏爱非监督学习的实践者,所以在挑选机器学习书籍时,往往会绕开那些过度聚焦于监督学习的教材。幸运的是,这本《Python机器学习经典实例》在聚类和降维算法的覆盖上,给了我一个惊喜。它不仅仅停留在K-Means这种基础算法上,还详细讲解了DBSCAN在识别复杂密度区域时的优势,以及主成分分析(PCA)在可视化高维数据时的具体步骤。最让我眼前一亮的是,书中甚至触及了流形学习(Manifold Learning)的概念,虽然是入门级的介绍,但它为我打开了一扇通往更深层次数据探索的大门。作者在讲解这些“非标准”算法时,依然保持了极高的可操作性。比如,在进行降维时,它会对比不同降维方法对最终模型性能的影响,并用图表清晰地展示数据在不同维度空间下的分布变化。这种对比分析,极大地帮助我明确了在不同业务场景下,应该优先选择哪种无监督学习策略。这本书的广度,让它成为了一本真正的“工具箱”,而不是某单一算法的说明书。
天哪,这本《Python机器学习经典实例》简直是我的救星!我之前对机器学习的理解停留在教科书上那些晦涩难懂的理论,感觉离实际应用遥不可及。但是这本书,它真的做到了“实例”二字的精髓。我记得我最头疼的是特征工程那一块,总觉得不知道怎么把现实世界的数据“喂”给模型。翻开这本书,它没有上来就堆砌公式,而是直接带着你手把手地处理一个具体的分类问题,比如如何用Pandas清洗数据,如何用Scikit-learn进行特征选择和编码。作者的讲解非常细致入微,每一步操作的代码块后面都有清晰的注释和解释,仿佛身边坐着一位经验丰富的导师在耐心指导。最让我惊喜的是,它不仅仅停留在让模型跑起来,更重要的是教会了我如何去“解读”模型的结果,比如混淆矩阵的意义,以及如何根据实际业务需求调整模型的参数。这本书的结构设计得非常合理,从基础的数据准备到复杂模型的调优,层层递进,让我这个入门者也能轻松跟上节奏,而且每完成一个案例,都会有一种“原来如此”的豁然开朗的感觉。对于想从理论小白真正跨越到实战高手的读者来说,这本书的实操价值简直是无价之宝。
这本书带给我的冲击,更多的是在思维层面的重塑,而不是简单的技术堆砌。在此之前,我总是把“数据”和“算法”割裂开来看待,认为数据处理是数据分析师的事,算法应用是机器学习工程师的事。但是《Python机器学习经典实例》这本书的叙事逻辑,巧妙地将这两者紧密地结合起来。它似乎在不断地提醒读者:任何一个优秀的机器学习模型,其基石永远是高质量的数据。书中对异常值处理和数据不平衡问题的探讨,非常有启发性。比如,在处理一个罕见事件预测模型时,作者介绍的SMOTE过采样技术,以及如何结合交叉验证来评估模型性能,这些都是我在其他资料中很少见到的深入细节。而且,这本书的语言风格非常具有说服力,它不是那种冷冰冰的技术手册,而是带着一种鼓励探索的语气。它会引导你思考“为什么”要用这个方法,而不是仅仅告诉你“怎么做”。这种对底层逻辑的挖掘,让我对整个机器学习流程有了更宏观、更系统的认识,不再满足于仅仅调用API了。
这本书的阅读体验,用“酣畅淋漓”来形容可能都不为过,尤其是在处理模型部署和性能优化的部分。很多书籍在模型训练完成后就戛然而止,留给读者一个“模型跑完了,然后呢?”的困惑。但《Python机器学习经典实例》显然考虑到了生产环境的需求。书中有一个章节专门讨论了如何使用Joblib等工具进行模型持久化,并探讨了如何评估模型的推理速度。这对于那些需要将模型嵌入到实时应用中的工程师来说,简直是雪中送炭。我记得我之前尝试用Python实现一个简单的API接口来调用训练好的模型,遇到了一堆关于序列化和数据格式转换的问题。这本书里对此有非常具体的指导,它展示了如何将训练好的Scikit-learn模型保存下来,并在另一个独立的环境中加载并进行预测,中间涉及的细节处理非常到位。这种对“从实验台到生产线”这一完整链路的关注,体现了作者深厚的工程实践经验。这本书不仅教你如何“训练”模型,更重要的是教你如何“交付”模型,这种实用主义的倾向,是我认为它最宝贵的一点。
风逝。用几个例子教人怎么调用相关的包而已。
过时的学习方法,真要看案例,google,github,没必要写成书
过时的学习方法,真要看案例,google,github,没必要写成书
一夜读完。。 对于有经验的人来说,内容过于简单。对于新手来说,有缺乏基本的讲解,只会调包。。。 和前言说的一样,读者还是要配合其他书阅读,比如周老师的西瓜书。。但在网络上的tutorial如此丰富的条件下,很难看到这本书的定位是什么。。
风逝。用几个例子教人怎么调用相关的包而已。