本书包括3部分:第1部分介绍机器学习的基本概念,它们是机器学习的预备知识;第2部分系统介绍几种成熟的机器学习算法和技术;第3部分介绍贯穿整个机器学习工作流程的21个*佳案例,并且讨论具有前瞻性的方法和想法,它们被公认为是机器学习未来的研究重点。本书中的代码均在Python 3中测试通过。
本书适合高等院校相关专业的大学生、研究生或教师阅读学习,以及不具有机器学习或统计背景但是想要快速补充机器学习算法知识,以便在实际产品或平台中应用的软件工程师。
Copyright Packt Publishing 2019
First published in the English language under the title“Python Machine Learning By Example-Second Edition-(9781789616729)”
Copyright in the Chinese language(simplified characters) 2021 China Machine Press
This title is published in China by China Machine Press with license from Packt Publishing LtdThis edition is authorized for sale in China only, excluding Hong Kong SAR, Macao SAR and TaiwanUnauthorized export of this edition is a violation of the Copyright ActViolation of this Law is subject to Civil and Criminal Penalties
本书由Packt Publishing Ltd授权机械工业出版社在中华人民共和国境内(不包括香港、澳门特别行政区及台湾地区)出版与发行。未经许可的出口,视为违反著作权法,将受法律制裁。
北京市版权局著作权合同登记图字:01-2019-5823号。
人们之所以会对机器学习产生浓厚的兴趣,是因为它可以通过学习数据中的模式,并利用这些模式做出预测和决策,从而革命性地实现自动化。如果你对机器学习感兴趣,本书可以作为你的入门书籍。
本书是《Python机器学习案例教程》的第2版,从介绍Python库的重要概念和实现开始,每章都会引导你了解一个行业使用的应用程序。你可以通过简单易懂的方式在探索性数据分析、特征工程和自然语言处理(Natural Language Processing,NLP)等领域中应用机器学习技术。
本书将帮助你学习如何解决数据驱动的问题,并利用简单而强大的Python语言、流行的Python包和工具(如TensorFlow、scikit-learn库、Gensim和Keras)解决问题。为了帮助你理解流行的机器学习算法,本书使用了许多有趣且简单的示例,如新闻主题建模和分类、垃圾邮件检测和股票价格预测。
通过本书,你将对机器学习的体系结构有一个全面的了解,并熟练掌握如何应用机器学习技术来迎接新的机会和挑战。
本书受众
如果你是一个对机器学习有浓厚兴趣的数据分析师或者是一个对机器学习充满激情的数据工程师,那么本书就是为你准备的。如果你之前已经了解并掌握Python编码的基础知识和统计学基本概念,将对学习本书很有帮助。但是如果你不了解上述知识和概念,也没关系。
本书包含的内容
第1章,机器学习和Python入门,这将是读者进入Python机器学习领域的起点。本章将介绍机器学习的基本概念,其余部分将在之后的章节探讨。此外,本章还将讨论Python机器学习的基础知识,并解释如何在后续的示例和项目中正确运用它。
第2章,使用文本分析技术研究20组新闻数据集。本章将开发本书的第一个项目,研究和挖掘20组新闻数据集。该项目拆分为两章:第2章——使用文本分析技术研究20组新闻数据集及第3章——使用聚类和主题建模算法挖掘20组新闻数据集。在本章中,读者将熟悉本项目相关的NLP和各种NLP库的使用以及几个重要的NLP技术如何在NLTK中实现。此外,还将介绍降维技术,特别是t-SNE在文本数据可视化中的应用。
第3章,使用聚类和主题建模算法挖掘20组新闻数据集。在研究了20组新闻数据集之后,继续上一章的新闻组项目。在本章中,读者将学习无监督学习中的聚类算法和一些先进的NLP技术,如LDA和词嵌入。使用k均值算法对新闻组数据进行聚类,并使用NMF和LDA进行主题检测。
第4章,使用朴素贝叶斯检测垃圾邮件,开始监督学习之旅。本章将重点讨论如何使用朴素贝叶斯算法分类,并将其实现。本章还将介绍机器学习领域中的其他重要概念,如分类性能评估、模型选择和调优以及交叉验证。本章最后将演示垃圾邮件检测等示例。
第5章,使用支持向量机对新闻组主题进行分类。本章将重用在第2章和第3章中使用过的数据集,也将介绍多元分类、支持向量机以及它们在主题分类中的应用。本章还将提到一些其他重要的概念,如内核机、过拟合和正则化。
第6章,使用基于树的算法预测在线广告点击率。本章在解决广告点击率问题的过程中,将深入介绍和解释决策树和随机森林。此外,还将介绍基于树模型的重要概念,如集合、特征重要性和特征选择。
第7章,使用逻辑回归预测在线广告点击率。本章将介绍和解释前几章中关于同一项目的逻辑回归分类。此外,还将介绍其他概念,如分类变量编码、L1和L2正则化、特征选择、在线学习和随机梯度下降以及如何处理大型数据集。
第8章,将预测扩展到TB级点击日志。本章将介绍在线广告点击率预测,在一个典型的大型机器学习问题中,有数以百万计的标签样本,本章将利用诸如Apache Hadoop和Spark等强大的并行计算工具来探索一个比前几章更完善的解决方案。此外,还将介绍Spark的基本概念,如安装、RDD和核心编程以及机器学习组件。使用整个数百万个样本的数据集探索数据,构建分类模型,执行特征工程,并使用Spark进行性能评估,这在一定程度上扩大了计算范围。
第9章,使用回归算法预测股票价格。本项目的目的是利用雅虎/谷歌的财务数据以及其他可能的附加数据来分析和预测股票的市场价格。
本章从金融领域遇到的挑战开始,并简要解释相关概念;紧接着获取和探索数据集,并在探索性数据分析后开始特征工程;核心部分将介绍回归和回归算法、线性回归、决策树、SVR以及神经网络。你还将练习使用scikit-learn库和TensorFlow API解决回归问题。
第10章,机器学习最佳案例。本章涵盖了机器学习中的最佳案例。学习本书介绍的多个项目之后,你将对Python的机器学习体系结构有一个大致的了解。但是,你一旦开始处理实际项目,仍然会遇到一些问题。本章主要在整个机器学习流程中提供21种最佳案例,既为读者的学习提供保障,也为读者处理项目提供指引。
充分利用这本书
你需要具备Python的基本知识、基础的机器学习算法以及一些Python库,如TensorFlow和Keras,这样可以使你的项目模型更加简单。
下载示例代码文件
你可以下载本书的示例代码文件,网址为wwwpacktcom。如果是在其他地方购买了这本书,可以访问wwwpacktcom/support并注册,文件将直接通过电子邮件发送给你。
按照以下步骤下载代码文件:
1)登
译者序
前言
第1部分机器学习的基础
第1章机器学习和Python入门
11超高水平的机器学习技术概述
111机器学习任务的分类
112机器学习算法的发展简史
12机器学习的核心——数据泛化
121过拟合、欠拟合和偏差-方差权衡
122利用交叉验证避免过拟合
123利用正则化避免过拟合
124通过特征选择和降维避免过拟合
13预处理、探索和特征工程
131缺失值
132标签编码
133独热编码
134缩放
135多项式特征
136幂变换
137分箱
14组合模型
141投票法和平均法
142装袋法
143提升方法
144堆叠法
15安装软件和设置
151设置Python和环境
152安装各种软件包
本章小结
习题
第2部分Python机器学习实例
第2章使用文本分析技术研究20组新闻数据集
21计算机如何理解语言——NLP
22浏览NLP库并学习NLP基础知识
221语料库
222标记
223词性
224命名实体识别
225词干提取和词形还原
226语义和主题建模
23获取新闻组数据
24研究新闻组数据
25考虑文本数据的特性
251计算每个单词表征的出现次数
252文本预处理
253丢弃停止词
254词干提取和词形还原法
26使用t-SNE可视化新闻组数据
261什么是降维
262用于降维的t-SNE
本章小结
习题
第3章使用聚类和主题建模算法挖掘20组新闻数据集
31没有指导的学习——无监督学习
32使用k均值聚类算法对新闻数据集进行聚类
321k均值聚类算法是如何聚类的?
322从头实现k均值聚类算法
323用机器学习实现k均值聚类算法
324k值的选择
325使用k均值聚类新闻组数据
33在新闻组中发现基础主题
34使用NMF进行主题建模
35使用LDA进行主题建模
本章小结
习题
第4章使用朴素贝叶斯检测垃圾邮件
41从分类开始
411分类算法的类型
412文本分类的应用
42探索朴素贝叶斯
421通过案例来学习贝叶斯定理
422朴素贝叶斯的结构
423运用scratch库实现朴素贝叶斯分类器
424运用scikit-learn库实现朴素贝叶斯分类器
43分类性能评估
44模型调优和交叉验证
本章小结
习题
第5章使用支持向量机对新闻组主题进行分类
51用支持向量机寻找分离边界
511通过不同的示例了解支持向量机如何工作
512实现支持向量机
513支持向量机的核心
514在线性核和RBF核之间进行选择
52使用支持向量机对新闻组主题进行分类
53更多示例——心脏造影的胎儿状态分类
54另一个示例——使用TensorFlow完成基于支持向量机的乳腺癌分类
本章小结
习题
第6章使用基于树的算法预测在线广告点击率
61广告点击率预测概述
62两种类型数据:数值型和分类型
63从根到叶探索决策树
631构建决策树
632衡量分裂的标准
64从头实现决策树
65用决策树预测广告点击率
66集成决策树——随机森林
661使用TensorFlow实现随机森林
本章小结
习题
第7章使用逻辑回归预测在线广告点击率
71将分类特征转换为数字特征——独热编码和顺序编码
72用逻辑回归对数据进行分类
721逻辑函数入门
722从逻辑函数到逻辑回归
73训练逻辑回归模型
731利用梯度下降训练逻辑回归模型
732利用梯度下降的逻辑回归模型预测在线广告点击率
733利用随机梯度下降训练逻辑回归模型
734利用正则化训练逻辑回归模型
74通过在线学习训练大型数据集
75处理多元分类
76使用TensorFlow实现逻辑回归
77使用随机森林进行特征选择
本章小结
习题
第8章将预测扩展到TB级点击日志
81学习Apache Spark的基本知识
811了解 Spark
812安装Spark
813启动和部署Spark程序
82在PySpark中编程
83使用Spark学习大量点击日志
831加载点击日志
832拆分和缓存数据
833对分类特征进行独热编码
834训练和测试逻辑回归模型
84使用Spark对分类变量进行特征工程
841散列分类特征
842组合多个变量——特征交互
本章小结
习题
第9章使用回归算法预测股票价格
91有关股票市场和股票价格的简要概述
92什么是回归
93获取股价数据
931开始特征工程
932获取数据并生成特征
94使用线性回归来估计
941线性回归是如何工作的
942实现线性回归
95使用回归树进行预测
951从分类树到回归树
952实现回归树
953实现随机森林
96用支持向量回归机进行评估
961实现支持向量回归机
97用神经网络进行估算
971揭开神经网络的神秘面纱
972实现神经网络
98评估回归性能
99使用四种回归算法预测股票价格
本章小结
习题
第3部分Python机器学习最佳案例
第10章机器学习最佳案例
101机器学习解决方案流程
102数据准备阶段的最佳案例
1021最佳案例1——完全理解项目目标
1022最佳案例2——收集所有相关的特征
1023最佳案例3——保持特征值的一致性
1024最佳案例4——处理缺失数据
1025最佳案例5——存储大规模数据
103训练集生成阶段的最佳案例
1031最佳案例6——区分分类型特征与数值型特征
1032最佳案例7——决定是否要对分类型特征进行编码
1033最佳案例8——决定是否要选择特征和如何选择
1034最佳案例9——决定是否要降维和如何降维
1035最佳案例10——决定是否重新调整特征取值
1036最佳案例11——在拥有专业知识的条件下进行特征工程
1037最佳案例12——在缺少专业知识的条件下进行特征工程
1038最佳案例13——记录每个特征是如何生成的
1039最佳案例14——从文本数据中提取特征
104模型训练、评估和选择阶段的最佳案例
1041最佳案例15——选择合适的起步算法
1042最佳案例16——减少过拟合
1043最佳案例17——识别过拟合与欠拟合
1044最佳案例18——在大型数据集上建模
105部署和监视阶段的最佳案例
1051最佳案例19——保存、加载和重用模型
1052最佳案例20——监控模型性能
1053最佳案例21——定期更新模型
本章小结
习题