机器学习是近年来比较热门的一个领域,Python语言经过一段时间的发展也已逐渐成为主流的编程语言之一。本书结合了机器学习和Python语言两个热门的领域,通过实用案例来详细讲解机器学习的相关知识,以便更好地引起读者的阅读兴趣且帮助读者理解相关内容。
全书共有8章。第1章讲解了Python和机器学习的基础知识,第2~7章通过多个案例详细讲解了文本分析算法、朴素贝叶斯、支持向量机、对率回归及回归算法等知识,案例主要包括探索新闻组数据集、检测垃圾邮件、微新闻话题分类、预测点击率以及预测股价等。第8章是最佳实践,主要介绍机器学习方案的整个工作流的最佳实践。
本书适合Python程序员、数据分析人员、机器学习领域的从业人员以及对算法感兴趣的读者阅读。
1.在讲解算法的原理和用 scikit-learn 库封装好的方法实现算法之前,先通过几个例子,教会你具体的计算方法,让你手动实现算法;
2.书中代码比较连贯,可直接粘贴到Jupyter Notebook中运行,这一点对初学者非常有帮助;
3.书中示例浅显易懂,涵盖多种应用场景:新闻话题分类、垃圾邮件过滤、在线广告点击率预测和股票价格预测等,讲解方式生动有趣;
4.提供源代码。
本书开篇介绍Python语言和机器学习开发环境的搭建方法。后续章节介绍相关的重要概念,比如数据分析、数据预处理、特征抽取、数据可视化、聚类、分类、回归和模型性能度量等。本书包含多个项目案例,涉及几种重要且有趣的机器学习算法,引导读者从头实现自己的模型。学完本书,你将了解机器学习生态系统的全貌,并掌握机器学习技术的实践和应用。
在本书的帮助下,你将学会用强大却很简单的Python语言来处理数据科学难题,并构建自己的解决方案。
本书包括以下内容:
·利用Python语言抽取数据、处理数据和探索数据;
·用Python对多维数据进行可视化,并抽取有用特征;
·深入钻研数据分析技术,正确预测发展趋势;
·用Python从头实现机器学习分类算法和回归算法;
·用雅虎财经数据来分析和预测股价;
·评估并优化机器学习模型的性能;
·用机器学习和Python解决实际问题。
刘宇熙 Yuxi(Hayden)Liu是加拿大多伦多市一家跨国网络媒体公司的数据科学家,他从事消息应用优化工作。他的研究方向是社交网络挖掘、社交个性化(social personalization)、用户人口统计学特征和兴趣预测、垃圾信息监测和推荐系统。他曾在多家程序化广告投放公司工作,担任数据科学家职位,他将机器学习专业知识应用于广告优化、点击率和转化率预测、点击欺诈检测等。Yuxi拥有多伦多大学的硕士学位,研究生期间曾发表过5篇IEEE期刊文章和会议论文。他喜欢爬取网络数据,并从中获取有价值的信息。他还热衷于投资。
第 1章 开始Python和机器学习之旅 1
1.1 什么是机器学习?我们为什么需要它 2
1.2 机器学习概览 4
1.3 机器学习算法发展简史 6
1.4 从数据中泛化的能力 7
1.5 过拟合、欠拟合及偏差和方差的权衡 8
1.5.1 用交叉检验避免过拟合 10
1.5.2 用正则化避免过拟合 12
1.6 通过特征选取和降维避免过拟合 14
1.7 预处理、探索和特征工程 15
1.7.1 缺失值 16
1.7.2 标签编码 17
1.7.3 一位有效编码 17
1.7.4 调整数值范围 18
1.7.5 多项式特征 18
1.7.6 幂次转换 18
1.7.7面元划分 19
1.8 模型组合 19
1.8.1 Bagging 20
1.8.2 Boosting 20
1.8.3 Stacking 20
1.8.4 Blending 21
1.8.5 投票和平均法 21
1.9 安装和设置软件 21
1.10 问题解决和寻求帮助 22
1.11 小结 23
第 2章 用文本分析算法探索20个新闻组数据集 24
2.1 什么是NLP 25
2.2 强大的Python NLP库之旅 27
2.3 新闻组数据集 31
2.4 获取数据 31
2.5 思考特征 32
2.6 可视化 35
2.7 数据预处理 39
2.8 聚类 42
2.9 话题建模 44
2.10 小结 48
第3章 用朴素贝叶斯检测垃圾邮件 50
3.1 开始分类之旅 51
3.2 分类的类型 51
3.3 文本分类应用 53
3.4 探索朴素贝叶斯 54
3.5 贝叶斯定理实例讲解 54
3.6 朴素贝叶斯原理 56
3.7 朴素贝叶斯的实现 59
3.8 分类器性能评估 70
3.9 模型调试和交叉检验 74
3.10 小结 77
第4章 用支持向量机为新闻话题分类 79
4.1 回顾先前内容和介绍逆文档频率 80
4.2 SVM 81
4.2.1 SVM的原理 82
4.2.2 SVM的实现 86
4.2.3 SVM内核 92
4.2.4 线性和RBF内核的选择 95
4.3 用SVM为新闻话题分类 96
4.4 更多示例—用SVM根据胎心宫缩监护数据为胎儿状态分类 100
4.5 小结 102
第5章 用基于树的算法预测点击率 103
5.1 广告点击率预测简介 104
5.2 两种不同类型的数据:数值型和类别型 104
5.3 决策树分类器 106
5.3.1 构造决策树 107
5.3.2 度量划分的标准 109
5.3.3 实现决策树 115
5.4 用决策树预测点击率 123
5.5 随机森林—决策树的特征装袋技术 128
5.6 小结 129
第6章 用对率回归预测点击率 130
6.1 一位有效编码—将类别型特征转换为数值型类型 131
6.2 对率回归分类器 134
6.2.1 从对率函数说起 134
6.2.2 对率回归的原理 135
6.2.3 用梯度下降方法训练对率回归模型 139
6.3 用梯度下降对率回归预测点击率 144
6.3.1 训练随机梯度下降对率回归模型 146
6.3.2 训练带正则项的对率回归模型 149
6.3.3 用线上学习方法,在大型数据集上训练 151
6.3.4 多分类 153
6.4 用随机森林选择参数 155
6.5 小结 156
第7章 用回归算法预测股价 158
7.1 股市和股价的简介 159
7.2 什么是回归 159
7.3 用回归算法预测股价 160
7.3.1 特征工程 162
7.3.2 数据获取和特征生成 165
7.3.3 线性回归 170
7.3.4 决策树回归 176
7.3.5 支持向量回归 183
7.3.6 回归性能评估 185
7.3.7 用回归算法预测股价 186
7.4 小结 190
第8章 最佳实践 192
8.1 机器学习工作流 193
8.2 数据准备阶段的最佳实践 193
8.2.1 最佳实践1—理解透彻项目的目标 193
8.2.2 最佳实践2—采集所有相关字段 194
8.2.3 最佳实践3—字段值保持一致 194
8.2.4 最佳实践4—缺失值处理 195
8.3 训练集生成阶段的最佳实践 198
8.3.1 最佳实践5—用数值代替类别型特征 199
8.3.2 最佳实践6—决定是否对类别型特征编码 199
8.3.3 最佳实践7—是否要选择特征,怎么选 199
8.3.4 最佳实践8—是否降维,怎么降 201
8.3.5 最佳实践9—是否缩放特征,怎么缩放 201
8.3.6 最佳实践10—带着领域知识做特征工程 202
8.3.7 最佳实践11—缺少领域知识的前提下,做特征工程 202
8.3.8 最佳实践12—记录每个特征的生成方法 204
8.4 模型训练、评估和选择阶段的最佳实践 204
8.4.1 最佳实践13—选择从正确的算法开始 204
8.4.2 最佳实践14—降低过拟合 206
8.4.3 最佳实践15—诊断过拟合和欠拟合 206
8.5 系统部署和监控阶段的最佳实践 208
8.5.1 最佳实践16—保存、加载和重用模型 208
8.5.2 最佳实践17—监控模型性能 209
8.5.3 最佳实践18—定期更新模型 210
8.6 小结 210