Python机器学习核心算法编程实例

作者
丁伟雄
丛书名
出版社
电子工业出版社
ISBN
9787121382475
简要
简介
内容简介书籍计算机书籍 在大数据时代背景下,机器学习是人工智能研究领域中一个极其重要的方向,本书是一本机器学习方面的入门读物,注重理论与实践相结合,书中以Python 3.6.5为编写平台,共分13章,主要包括机器学习绪论、线性模型、树回归、K-means聚类算法、朴素贝叶斯、数据降维、支持向量机、随机森林、人工神经网络、协同过滤算法、基于矩阵分解的推荐算法、集成学习、数据预处理等内容。通过本书的学习,除使读者轻松掌握Python外,还能利用Python简单、快捷地解决各种机器学习问题。本书适合Python初学者,也适合研究Python的广大科研人员、学者、工程技术人员。
目录




第1章 机器学习绪论\t1

1.1 机器学习的定义\t1

1.1.1 绪论\t1

1.1.2 机器学习发展历程\t2

1.1.3 机器学习算法的分类\t3

1.2 学习算法\t4

1.2.1 监督学习\t4

1.2.2 无监督学习\t5

1.3 机器学习应用程序的步骤\t6

1.4 Python语言\t7

1.4.1 Python的风格\t7

1.4.2 Python的优势\t7

1.4.3 Python语言的缺点\t8

1.5 Python的环境搭建\t9

1.5.1 安装\t10

1.5.2 使用pip安装第三方库\t13

1.6 NumPy函数库基础\t14

1.7 Python的基础知识\t16

1.7.1 数和表达式\t16

1.7.2 Python的标识符\t18

1.7.3 Python的保留字符\t19

1.7.4 行和缩进\t19

1.7.5 多行语句\t20

1.7.6 Python引号\t20

1.7.7 Python空行\t20

1.7.8 同一行显示多条语句\t20

1.7.9 Print输出\t21

第2章 线性模型\t22

2.1 一般线性回归\t23

2.1.1 线性回归公式表示法\t23

2.1.2 线性回归的Python实现\t25

2.2 局部加权线性回归\t27

2.3 广义线性模型\t30

2.4 逻辑回归分析\t36

2.5 牛顿法\t40

2.5.1 基本牛顿法的原理\t40

2.5.2 基本牛顿法的流程\t40

2.5.3 全局牛顿法\t40

2.5.4 Armijo搜索\t42

2.5.5 全局牛顿法求解线性回归模型\t42

2.6 缩减法\t43

2.6.1 岭回归\t44

2.6.2 lasso回归\t46

2.7 利用线性回归进行预测\t47

2.7.1 训练线性回归模型\t47

2.7.2 对新数据的预测\t49

第3章 树回归\t51

3.1 构建决策树的准备工作\t52

3.1.1 特征选择\t52

3.1.2 决策树的生成和修剪\t60

3.2 Matplotlib注释绘制树形图\t60

3.3 使用决策树执行分类\t67

3.4 决策树的存储\t71

3.5 Sklearn使用决策树预测隐形眼镜类型\t73

3.5.1 实战背景\t73

3.5.2 使用Sklearn构建决策树\t73

3.6 复杂数据的局部性建模\t80

3.7 连续型和离散型特征的树构建\t81

3.8 分类回归树\t82

3.8.1 构建树\t83

3.8.2 剪枝\t85

3.8.3 模型树\t87

3.8.4 分类回归的Python实现\t88

第4章 K-means聚类算法\t92

4.1 K-means聚类算法的概述\t92

4.2 相似性的度量\t93

4.2.1 闵可夫斯基距离\t93

4.2.2 曼哈顿距离\t93

4.2.3 欧氏距离\t93

4.3 K-means聚类算法的原理\t94

4.3.1 K-means聚类算法的步骤\t94

4.3.2 K-means算法与矩阵分解\t95

4.3.3 K-means聚类算法的实现\t96

4.4 K-近邻算法\t104

4.5 各种聚类算法\t107

4.5.1 划分聚类法\t107

4.5.2 层次聚类法\t108

4.5.3 密度聚类法\t111

4.5.4 谱聚类法\t116

4.5.5 Birch聚类\t119

4.5.6 混合高斯模型\t121

4.6 K-means++算法\t122

4.6.1 K-means算法存在的问题\t122

4.6.2 K-means++算法的思路\t123

第5章 朴素贝叶斯\t127

5.1 朴素贝叶斯理论\t127

5.1.1 贝叶斯决策理论\t127

5.1.2 条件概率\t128

5.1.3 全概率公式\t128

5.1.4 贝叶斯推断\t129

5.1.5 朴素贝叶斯推断\t130

5.2 朴素贝叶斯算法\t131

5.3 朴素贝叶斯算法的优缺点\t140

第6章 数据降维\t141

6.1 维度灾难与降维\t141

6.2 高维数据降维的方法\t141

6.2.1 线性降维\t142

6.2.2 非线性降维\t146

6.2.3 SVD降维\t153

6.2.4 流形学习降维\t159

6.2.5 多维缩放降维\t166

第7章 支持向量机\t170

7.1 支持向量机概述\t170

7.2 分类间隔\t171

7.2.1 函数间距\t172

7.2.2 几何间距\t173

7.3 拉格朗日乘子\t175

7.3.1 拉格朗日对偶性\t175

7.3.2 优化间隔分类器\t176

7.4 核函数\t178

7.4.1 核函数的选择\t180

7.4.2 松弛向量与软间隔最大化\t180

7.5 SOM算法\t181

7.5.1 坐标上升算法\t182

7.5.2 SOM\t182

7.6 SVM的优缺点\t185

7.7 SVM的Python实现\t185

第8章 随机森林\t192

8.1 什么是随机森林\t192

8.2 集成学习\t192

8.2.1 集成学习的思想\t193

8.2.2 集成学习中的典型方法\t193

8.3 Stacking\t194

8.3.1 Stacking的基本思想\t194

8.3.2 Stacking的实现\t195

8.4 随机森林算法\t198

8.4.1 随机森林的特点\t198

8.4.2 随机森林算法流程\t199

8.5 随机森林算法实践\t201

8.6 美国人口普查年收入50k分类\t207

8.6.1 数据预处理\t208

8.6.2 模型训练及验证\t212

第9章 人工神经网络\t217

9.1 感知机模型\t217

9.1.1 感知机的定义\t217

9.1.2 感知机的学习策略\t218

9.1.3 感知机学习算法\t218

9.1.4 感知机的Python实现\t226

9.2 从感知机到神经网络\t236

9.3 多层前馈神经网络\t238

9.3.1 BP网络算法\t241

9.3.2 BP神经网络的学习过程\t244

9.3.3 BP神经网络中参数的设置\t249

9.4 神经网络的Python实现\t253

第10章 协同过滤算法\t272

10.1 协同过滤的核心\t272

10.2 协同过滤的分类\t272

10.3 相似性的度量方法\t273

10.3.1 欧氏距离\t273

10.3.2 皮尔逊相关系数\t273

10.3.3 余弦相似度\t274

10.3.4 用Python实现余弦相似度的计算\t274

10.4 基于用户的协同过滤算法\t275

10.4.1 基于物品的协同过滤算法\t275

10.4.2 基于矩阵分解的协同过滤算法\t276

10.4.3 Python实现\t276

10.5 基于项的协同过滤算法\t280

10.6 利用协同过滤算法进行推荐\t281

10.6.1 导入用户-商品数据\t281

10.6.2 利用基于用户的协同过滤算法进行推荐\t282

10.6.3 利用基于项的协同过滤算法进行推荐\t283

第11章 基于矩阵分解的推荐算法\t285

11.1 矩阵分解\t285

11.2 利用矩阵分解进行预测\t286

11.2.1 损失函数\t286

11.2.2 损失函数的求解\t286

11.2.3 加入正则项的损失函数即求解方法\t286

11.2.4 预测\t288

11.2.5 程序实现\t289

11.3 非负矩阵分解\t291

11.3.1 非负矩阵分解的形式定义\t291

11.3.2 损失函数\t291

11.3.3 优化问题的求解\t292

11.3.4 利用乘法规则进行分解和预测\t294

11.4 基于矩阵分解的推荐方法\t295

11.4.1 LFM法\t295

11.4.2 SVD法\t298

11.4.3 SVD++法\t300

第12章 集成学习\t304

12.1 集成学习的原理及误差\t304

12.2 集成学习方法\t305

12.2.1 Boosting算法\t305

12.2.2 AdaBoost算法\t305

12.2.3 AdaBoost与加法模型\t309

12.2.4 提升树\t310

12.2.5 Bagging算法\t313

12.2.6 误差-分歧分解\t314

12.2.7 多样性增强\t315

12.2.8 Stacking算法\t316

12.3 Python实现\t317

第13章 数据预处理\t322

13.1 数据预处理概述\t322

13.1.1 为什么要对数据进行预处理\t322

13.1.2 数据预处理的主要任务\t323

13.2 去除唯一属性\t323

13.3 处理缺失值\t324

13.3.1 直接使用\t324

13.3.2 删除特征\t324

13.3.3 缺失值补全\t324

13.3.4 数据清理\t328

13.3.5 特征编码\t330

13.3.6 数据标准化\t331

13.3.7 正则化\t332

13.3.8 特征选择\t333

13.3.9 稀疏表示和字典学习\t335

13.4 Python实现\t337

参考文献\t352



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4