描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302518945
本书分为11章,从MADlib的基本概念、MADlib的架构、支持的模型类型与功能入手,详细解析MADlib各种模型的具体用法,包括数据类型、矩阵分解、数据转换、数据探索、主成分分析、回归、时间序列分析、分类、聚类、关联规则、图算法、模型评估等。每种模型将从背景知识、函数语法、应用示例三方面进行 说明。
本书适合MADlib机器学习的初学者、想学习MADlib机器学习的DBA以及从事数据分析与挖掘的高级技术人员阅读,也适合高等院校与培训学校相关专业的师生教学参考。
第1章 MADlib基础 1
1.1 基本概念 1
1.1.1 MADlib是什么 1
1.1.2 MADlib的设计思想 2
1.1.3 MADlib的工作原理 3
1.1.4 MADlib的执行流程 4
1.1.5 MADlib架构 5
1.2 MADlib的功能 6
1.2.1 MADlib支持的模型类型 6
1.2.2 MADlib的主要功能模块 7
1.3 MADlib的安装与卸载 9
1.3.1 确定安装平台 9
1.3.2 下载MADlib二进制压缩包 10
1.3.3 安装MADlib 10
1.3.4 卸载MADlib 12
1.4 小结 13
第2章 数据类型 14
2.1 向量 14
2.1.1 MADlib中的向量操作函数 15
2.1.2 稀疏向量 23
2.2 矩阵 30
2.2.1 矩阵定义 31
2.2.2 MADlib中的矩阵表示 31
2.2.3 MADlib中的矩阵运算函数 32
2.3 小结 49
第3章 数据转换 50
3.1 邻近度 50
3.1.1 MADlib的邻近度相关函数 50
3.1.2 距离度量的中心化和标准化 57
3.1.3 选取正确的邻近度度量 58
3.2 矩阵分解 59
3.2.1 低秩矩阵分解 59
3.2.2 奇异值分解 70
3.3 透视表 87
3.4 分类变量编码 97
3.5 小结 110
第4章 数据探索 111
4.1 描述性统计 111
4.1.1 皮尔森相关 111
4.1.2 汇总统计 117
4.2 概率统计 125
4.2.1 概率 125
4.2.2 统计推论 133
4.3 主成分分析 147
4.3.1 背景知识 147
4.3.2 MADlib的PCA相关函数 149
4.3.3 MADlib的PCA应用示例 155
4.4 小结 160
第5章 回归 161
5.1 线性回归 161
5.1.1 背景知识 161
5.1.2 MADlib的线性回归相关函数 164
5.1.3 线性回归示例 166
5.2 非线性回归 171
5.2.1 背景知识 171
5.2.2 MADlib的非线性回归相关
函数 172
5.2.3 非线性回归示例 175
5.3 逻辑回归 179
5.3.1 背景知识 179
5.3.2 MADlib的逻辑回归相关函数 180
5.3.3 逻辑回归示例 182
5.4 多类回归 187
5.4.1 背景知识 187
5.4.2 MADlib的多类回归相关函数 190
5.4.3 多类回归示例 192
5.5 序数回归 196
5.5.1 背景知识 196
5.5.2 MADlib的序数回归相关函数 197
5.5.3 序数回归示例 200
5.6 弹性网络回归 202
5.6.1 背景知识 202
5.6.2 MADlib的弹性网络回归相关
函数 204
5.6.3 弹性网络回归示例 209
5.7 小结 221
第6章 时间序列分析 222
6.1 背景知识 222
6.1.1 时间序列分析方法 222
6.1.2 ARIMA模型 223
6.2 MADlib中ARIMA相关函数 225
6.3 时间序列分析示例 228
6.4 小结 232
第7章 分类 233
7.1 K近邻 233
7.1.1 背景知识 233
7.1.2 MADlib中K近邻函数 235
7.1.3 K近邻示例 236
7.2 朴素贝叶斯 240
7.2.1 背景知识 240
7.2.2 MADlib中朴素贝叶斯分类
相关函数 242
7.2.3 朴素贝叶斯分类示例 244
7.3 支持向量机 249
7.3.1 背景知识 249
7.3.2 MADlib的支持向量机相关
函数 252
7.3.3 支持向量机示例 258
7.4 决策树 264
7.4.1 背景知识 264
7.4.2 MADlib的决策树相关函数 267
7.4.3 决策树示例 272
7.5 随机森林 281
7.5.1 背景知识 281
7.5.2 MADlib的随机森林相关函数 282
7.5.3 随机森林示例 287
7.6 小结 293
第8章 聚类 294
8.1 背景知识 294
8.1.1 聚类的概念 294
8.1.2 k-means方法 295
8.2 MADlib的k-means相关函数 297
8.2.1 训练函数 298
8.2.2 簇分配函数 300
8.2.3 轮廓系数函数 301
8.3 k-means示例 301
8.4 小结 307
第9章 关联规则 308
9.1 背景知识 308
9.1.1 基本概念 308
9.1.2 Apriori算法 311
9.2 MADlib的Apriori算法函数 312
9.3 Apriori应用示例 313
9.4 小结 319
第10章 图算法 320
10.1 背景知识 320
10.1.1 基本概念 320
10.1.2 常见图算法 321
10.1.3 单源短路径 323
10.2 MADlib的单源短路径相关函数 324
10.3 单源短路径示例 325
10.4 小结 327
第11章 模型评估 328
11.1 交叉验证 328
11.1.1 背景知识 328
11.1.2 MADlib的交叉验证相关
函数 331
11.1.3 交叉验证示例 333
11.2 预测度量 336
11.3 小结 342
从2016年AlphaGo在人机大战中胜出以来,AI(Artificial Intelligence,人工智能)已然成为时下热门的概念之一。似乎所有人嘴边都挂着“AI”一词,大批程序员跃跃欲试,转向研究这种“全新”的技术。人工智能的研究历史有着一条从以“推理”为重点,到以“知识”为重点,再到以“学习”为重点的自然、清晰的脉络。显然,机器学习是实现人工智能的一条途径,即以机器学习为手段解决人工智能中的现实问题。在实践过程中,大多数人工智能处理任务其实是用机器学习的方式完成的。机器学习可以用程序和算法自动学习,只要被设计好,程序就可以进行自我优化。同时,机器学习需要一定数量的训练数据,用于构建来自过往经验的知识(通常指训练后形成的数学模型)。机器学习目前在实践中重要的是预测功能。比如训练结束后,现在有一个新的数据集X,需要预测其分类,机器学习算法会根据这个新数据与训练后形成的知识相匹配,然后将这个数据集X分类到某类C去。推荐系统则是另一个比较常见的机器学习使用场景。
经过三十多年的发展,机器学习已成为一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。很明显,自己开发机器学习算法需要具有极强的数学功底。幸运的是,很多软件包提供绝大多数常用算法,无论是侧重于统计的SAS、SPSS还是流行的MATLAB、R、Python、TensorFlow等。它们都是面向程序员的系统或语言,重点在于由程序员自己利用系统提供的基本计算方法或函数,通过编程的方式完成实际所需的分析 模型。
作为一名数据库开发人员或DBA,当面对聚类分析或主成分分析等问题时可能会一筹莫展。原因很简单,用经典SQL语言实现这类复杂模型基本是不可能的。现在,DBA利用MADlib,只需使用SQL查询就能实现简单的机器学习,这也正是编写本书的初衷。MADlib与其他机器学习工具具有完全不同的设计理念。它不是面向程序员的,而是面向数据库开发人员或DBA的,是基于SQL的大数据机器学习库。MADlib将SQL的简单易用性与机器学习的复杂算法相结合,充分利用了两者的优势和特点。对于广大传统数据库应用技术人员来说,学习和从事机器学习工作的门槛将大大降低。对用户而言,MADlib提供了可在SQL查询语句中调用的函数,不仅包括基本的线性代数运算和统计函数,还提供了常用的、现成的机器学习模型函数,实现了分类、聚类、关联、回归、预测、评估等应用中的常见算法。用户不需要深入了解算法的程序实现细节,只要搞清楚各函数中相关参数的含义、提供正确的入参并能够理解和解释函数的输出结果即可。
一年来,我一直在撰写MADlib相关的文章和博客,并在利用MADlib实现机器学习算法上做了一些基础的技术实践。本书就是对上述工作的系统归纳与总结。全书共分11章,从MADlib的基本概念入手,首先介绍MADlib的工作原理、执行流程、基础架构、支持的模型与功能,以及MADlib的安装与卸载;然后详细解析MADlib各种模型的具体用法,其中包括数据类型、数据转换、数据探索、回归、时间序列分析、分类、聚类、关联规则、图算法、模型评估十个大类(每个大类用一章的篇幅,从背景知识、函数用法、应用示例三方面进行详细说明)。本书中的所有讨论都以MADlib 1.10版本为基础,重点在于说明MADlib提供了哪些模块算法和函数、用途,以及如何在SQL中调用。由于本书偏重应用,因此我们对每种算法相关的数学概念都只是浅尝辄止,并没有进行详细的数学推导。
本书适合数据库应用开发或管理人员、数据挖掘工程师、数据分析师或其他机器学习类技术人员阅读,也适合高等院校和培训学校相关专业的师生教学参考。
在本书编写过程中,得到了很多人的帮助与支持。感谢CSDN提供的技术分享平台,为我提供了一个将博客文章整理成书的机会。感谢优贝在线的所有同事,特别是技术部的同事,他们在工作中的鼎力相助,使我有更多的时间投入到本书的写作中。后,感谢家人对我一如既往地支持。
因为水平有限,疏漏之处在所难免,希望广大读者批评指正。
源代码下载
本书配套的代码及相关资料可以扫描下面的二维码获取:
如果下载有问题,请联系,邮件主题为“MADlib技术解析”。
著 者
2018年11月
评论
还没有评论。