关于我们
![]() ![]() |
Alink权威指南:基于Flink的机器学习实例入门(Python) 读者对象:开发人员
全书围绕Alink(阿里在Flink基础上做的开源版本)的展开,以实例为主阐述Alink的使用。?以机器学习的知识架构将各个章节串联起来,每个章节配合实例,用户更容易理解和入手尝试。?数据会采用读者能免费下载的数据集,在加上Alink本身是开源的、免费的。用户试用起来没有成本。?实例实现的源代码,准备放在Alink开源git上,大家容易看到,可以直接下载,代码旁边会有实体书的介绍?以机器学习的知识架构将各个章节串联起来,每个章节配合实例,用户更容易理解和入手尝试。?数据会采用读者能免费下载的数据集,在加上Alink本身是开源的、免费的。用户试用起来没有成本。?实例实现的源代码,准备放在Alink开源git上,大家容易看到,可以直接下载,代码旁边会有实体书的介绍
2004年获南开大学数学博士学位;随后在南开大学信息学院从事博士后研究工作;2006年加入微软亚洲研究院,进行符号计算、大规模矩阵计算及机器学习算法研究;2010年加入阿里巴巴,从事大数据相关的统计和机器学习算法研发。著有《重构大数据统计》《机器学习在线》等。
目 录
VII 目 录 第1章 Alink快速上手 ...................................................................................................... 1 1.1 Alink是什么 ..............................................................................................................1 1.2 免费下载、安装 ........................................................................................................2 1.3 Alink的功能 ..............................................................................................................2 1.3.1 丰富的算法库 ................................................................................................2 1.3.2 多样的使用体验 ............................................................................................3 1.3.3 与SparkML的对比 .......................................................................................4 1.4 关于数据和代码 ........................................................................................................5 1.5 简单示例 ....................................................................................................................6 1.5.1 数据的读/写与显示 .......................................................................................6 1.5.2 批式训练和批式预测 ....................................................................................7 1.5.3 流式处理和流式预测 ..................................................................................10 1.5.4 定义Pipeline,简化操作 ............................................................................ 11 1.5.5 嵌入预测服务系统 ......................................................................................13 第2章 系统概况与核心概念 .......................................................................................... 15 2.1 基本概念 ..................................................................................................................15 2.2 批式任务与流式任务 ..............................................................................................16 Alink 权威指南:基于 Flink 的机器学习实例入门(Python) VIII 2.3 Alink=A+link ...........................................................................................................19 2.3.1 BatchOperator和StreamOperator ...............................................................20 2.3.2 link方式是批式算法/流式算法的通用使用方式 ......................................21 2.3.3 link的简化 ...................................................................................................24 2.3.4 组件的主输出与侧输出 ..............................................................................25 2.4 Pipeline与PipelineModel .......................................................................................25 2.4.1 概念和定义 ..................................................................................................25 2.4.2 深入介绍 ......................................................................................................27 2.5 触发Alink任务的执行 ...........................................................................................29 2.6 模型信息显示 ..........................................................................................................31 2.7 文件系统与数据库 ..................................................................................................35 2.8 Schema String ..........................................................................................................37 第3章 文件系统与数据文件 .......................................................................................... 39 3.1 文件系统简介 ..........................................................................................................39 3.1.1 本地文件系统 ..............................................................................................40 3.1.2 Hadoop文件系统 .........................................................................................42 3.1.3 阿里云OSS文件系统 .................................................................................44 3.2 数据文件的读入与导出 ..........................................................................................46 3.2.1 CSV格式 .....................................................................................................47 3.2.2 TSV格式、LibSVM格式和Text格式 ......................................................54 3.2.3 AK格式 .......................................................................................................58 第4章 数据库与数据表 .................................................................................................. 61 4.1 简介 ..........................................................................................................................61 4.1.1 Catalog的基本操作 .....................................................................................61 4.1.2 Source组件和Sink组件 .............................................................................62 4.2 Hive示例 .................................................................................................................63 4.3 Derby示例 ...............................................................................................................66 4.4 MySQL示例 ............................................................................................................68 目 录 IX 第5章 支持Flink SQL ................................................................................................... 70 5.1 基本操作 ..................................................................................................................70 5.1.1 注册 ..............................................................................................................70 5.1.2 运行 ..............................................................................................................71 5.1.3 内置函数 ......................................................................................................74 5.1.4 用户定义函数 ..............................................................................................74 5.2 简化操作 ..................................................................................................................75 5.2.1 单表操作 ......................................................................................................76 5.2.2 两表的连接(JOIN)操作 ..........................................................................80 5.2.3 两表的集合操作 ..........................................................................................82 第6章 用户定义函数(UDF/UDTF) ............................................................................ 87 6.1 用户定义标量函数(UDF) ..................................................................................87 6.1.1 示例数据及问题 ..........................................................................................88 6.1.2 UDF的定义 .................................................................................................88 6.1.3 使用UDF处理批式数据 ............................................................................89 6.1.4 使用UDF处理流式数据 ............................................................................90 6.2 用户定义表值函数(UDTF) ...............................................................................92 6.2.1 示例数据及问题 ..........................................................................................92 6.2.2 UDTF的定义 ...............................................................................................92 6.2.3 使用UDTF处理批式数据 ..........................................................................93 6.2.4 使用UDTF处理流式数据 ..........................................................................95 第7章 基本数据处理 ..................................................................................................... 98 7.1 采样 ..........................................................................................................................98 7.1.1 取“前”N个数据 .......................................................................................99 7.1.2 随机采样 ......................................................................................................99 7.1.3 加权采样 .................................................................................................... 102 7.1.4 分层采样 .................................................................................................... 103 7.2 数据划分 ................................................................................................................ 104 Alink 权威指南:基于 Flink 的机器学习实例入门(Python) X 7.3 数值尺度变换 ........................................................................................................ 106 7.3.1 标准化 ........................................................................................................ 106 7.3.2 MinMaxScale.............................................................................................. 108 7.3.3 MaxAbsScale .............................................................................................. 109 7.4 向量的尺度变换 .................................................................................................... 111 7.4.1 StandardScale、MinMaxScale、MaxAbsScale......................................... 111 7.4.2 正则化 ........................................................................................................ 113 7.5 缺失值填充 ............................................................................................................ 114 7.6 Python数组、DataFrame形式的数据和Alink批式数据之间的相互转换 ...... 116 7.6.1 Python数组与DataFrame形式的数据之间的相互转换 ........................ 116 7.6.2 将Alink批式数据转换为DataFrame形式的数据 .................................. 117 7.6.3 将DataFrame形式的数据转换为Alink批式数据 .................................. 118 第8章 线性二分类模型 ................................................................................................ 119 8.1 线性模型的基础知识 ............................................................................................ 119 8.1.1 损失函数 .................................................................................................... 119 8.1.2 经验风险函数与结构风险函数 ................................................................ 121 8.1.3 线性模型与损失函数 ................................................................................ 122 8.1.4 逻辑回归与线性支持向量机(Linear SVM) ........................................ 123 8.2 二分类评估方法 .................................................................................................... 125 8.2.1 基本指标 .................................................................................................... 126 8.2.2 综合指标 .................................................................................................... 128 8.2.3 评估曲线 .................................................................................................... 131 8.3 数据探索 ................................................................................................................ 136 8.3.1 基本统计 .................................................................................................... 138 8.3.2 相关性 ........................................................................................................ 140 8.4 训练集和测试集 .................................................................................................... 144 8.5 逻辑回归模型 ........................................................................................................ 145 8.6 线性SVM模型 ..................................................................................................... 147 8.7 模型评估 ................................................................................................................ 149 8.8 特征的多项式扩展 ................................................................................................ 154 目 录 XI 8.9 因子分解机 ............................................................................................................ 157 第9章 朴素贝叶斯模型与决策树模型 .......................................................................... 160 9.1 朴素贝叶斯模型 .................................................................................................... 160 9.2 决策树模型 ............................................................................................................ 162 9.2.1 决策树的分裂指标定义 ............................................................................ 165 9.2.2 常用的决策树算法 .................................................................................... 167 9.2.3 指标计算示例 ............................................................................................ 170 9.2.4 分类树与回归树 ........................................................................................ 173 9.2.5 经典的决策树示例 .................................................................................... 173 9.3 数据探索 ................................................................................................................ 176 9.4 使用朴素贝叶斯方法 ............................................................................................ 180 9.5 蘑菇分类的决策树 ................................................................................................ 186 第10章 特征的转化 ..................................................................................................... 192 10.1 整体流程 .............................................................................................................. 196 10.1.1 特征哑元化 .............................................................................................. 198 10.1.2 特征的重要性 .......................................................................................... 199 10.2 减少模型特征的个数 .......................................................................................... 201 10.3 离散特征转化 ...................................................................................................... 203 10.3.1 独热编码 .................................................................................................. 203 10.3.2 特征哈希 .................................................................................................. 205 第11章 构造新特征 ..................................................................................................... 208 11.1 数据探索 .............................................................................................................. 209 11.2 思路 ...................................................................................................................... 211 11.2.1 用户和品牌的各种特征 .......................................................................... 212 11.2.2 二分类模型训练 ...................................................................................... 214 11.3 计算训练集 .......................................................................................................... 214 11.3.1 原始数据划分 .......................................................................................... 214 Alink 权威指南:基于 Flink 的机器学习实例入门(Python) XII 11.3.2 计算特征 .................................................................................................. 216 11.3.3 计算标签 .................................................................................................. 223 11.4 正负样本配比 ...................................................................................................... 225 11.5 决策树 .................................................................................................................. 228 11.6 集成学习 .............................................................................................................. 229 11.6.1 Bootstrap aggregating ............................................................................... 229 11.6.2 Boosting .................................................................................................... 230 11.6.3 随机森林与GBDT .................................................................................. 233 11.7 使用随机森林算法 .............................................................................................. 234 11.8 使用GBDT算法 ................................................................................................. 235 第12章 从二分类到多分类 .......................................................................................... 237 12.1 多分类模型的评估方法 ...................................................................................... 237 12.1.1 综合指标 .................................................................................................. 239 12.1.2 关于每个标签值的二分类指标 .............................................................. 241 12.1.3 Micro、Macro、Weighted计算的指标 .................................................. 241 12.2 数据探索 .............................................................................................................. 244 12.3 使用朴素贝叶斯算法进行多分类 ...................................................................... 246 12.4 二分类器组合 ...................................................................................................... 248 12.5 Softmax算法 ....................................................................................................... 252 12.6 多层感知器分类器 .............................................................................................. 255 第13章 常用的多分类算法 .......................................................................................... 258 13.1 数据准备 .............................................................................................................. 258 13.1.1 读取MNIST数据文件 ............................................................................ 259 13.1.2 稠密向量与稀疏向量 .............................................................................. 260 13.1.3 标签值的统计信息 .................................................................................. 266 13.2 Softmax算法 ....................................................................................................... 267 13.3 二分类器组合 ...................................................................................................... 269 13.4 多层感知器分类器(MLPC) ........................................................................... 270 13.5 决策树与随机森林 .............................................................................................. 272 目 录 XIII 13.6 K最近邻算法 ...................................................................................................... 274 第14章 在线学习 ........................................................................................................ 277 14.1 整体流程 .............................................................................................................. 277 14.2 数据准备 .............................................................................................................. 279 14.3 特征工程 .............................................................................................................. 281 14.4 使用特征工程处理数据 ...................................................................................... 282 14.5 在线训练 .............................................................................................................. 284 14.6 模型过滤 .............................................................................................................. 287 第15章 回归的由来 ..................................................................................................... 289 15.1 平均数 .................................................................................................................. 290 15.2 向平均数方向的“回归” .................................................................................. 291 15.3 线性回归 .............................................................................................................. 293 第16章 常用的回归算法.............................................................................................. 296 16.1 回归模型的评估指标 .......................................................................................... 296 16.2 数据探索 .............................................................................................................. 298 16.3 线性回归 .............................................................................................................. 301 16.4 决策树与随机森林 .............................................................................................. 304 16.5 GBDT ................................................................................................................... 305 第17章 常用的聚类算法.............................................................................................. 307 17.1 聚类评估指标 ...................................................................................................... 308 17.1.1 基本评估指标 .......................................................................................... 308 17.1.2 基于标签值的评估指标 .......................................................................... 310 17.2 K-Means聚类算法 .............................................................................................. 312 17.2.1 算法简介 .................................................................................................. 312 17.2.2 K-Means实例 .......................................................................................... 314 17.3 高斯混合模型算法 .............................................................................................. 318 Alink 权威指南:基于 Flink 的机器学习实例入门(Python) XIV 17.3.1 算法介绍 .................................................................................................. 318 17.3.2 GMM实例 ............................................................................................... 320 17.4 二分K-Means聚类算法 ..................................................................................... 321 17.5 基于经纬度的聚类 .............................................................................................. 324 第18章 批式与流式聚类.............................................................................................. 327 18.1 稠密向量与稀疏向量 .......................................................................................... 327 18.2 使用聚类模型预测流式数据 .............................................................................. 329 18.3 流式聚类 .............................................................................................................. 332 第19章 主成分分析 ..................................................................................................... 334 19.1 主成分的含义 ...................................................................................................... 336 19.2 两种计算方式 ...................................................................................................... 340 19.3 在聚类方面的应用 .............................................................................................. 342 19.4 在分类方面的应用 .............................................................................................. 346 第20章 超参数搜索 ..................................................................................................... 350 20.1 示例一:尝试正则系数 ...................................................................................... 351 20.2 示例二:搜索GBDT超参数 ............................................................................. 352 20.3 示例三:最佳聚类个数 ...................................................................................... 353 第21章 文本分析 ........................................................................................................ 355 21.1 数据探索 .............................................................................................................. 355 21.2 分词 ...................................................................................................................... 357 21.2.1 中文分词 .................................................................................................. 357 21.2.2 Tokenizer和RegexTokenizer .................................................................. 361 21.3 词频统计 .............................................................................................................. 365 21.4 单词的区分度 ...................................................................................................... 367 21.5 抽取关键词 .......................................................................................................... 369 21.5.1 原理简介 .................................................................................................. 370 目 录 XV 21.5.2 示例 .......................................................................................................... 371 21.6 文本相似度 .......................................................................................................... 373 21.6.1 文本成对比较 .......................................................................................... 374 21.6.2 最相似的TopN ........................................................................................ 377 21.7 主题模型 .............................................................................................................. 389 21.7.1 LDA模型 ................................................................................................. 390 21.7.2 新闻的主题模型 ...................................................................................... 392 21.7.3 主题与原始分类的对比 .......................................................................... 394 21.8 组件使用小结 ...................................................................................................... 399 第22章 单词向量化 ..................................................................................................... 400 22.1 单词向量预训练模型 .......................................................................................... 401 22.1.1 加载模型 .................................................................................................. 401 22.1.2 查找相似的单词 ...................................................................................... 402 22.1.3 单词向量 .................................................................................................. 404 22.2 将单词映射为向量 .............................................................................................. 409 第23章 情感分析 ........................................................................................................ 414 23.1 使用提供的特征 .................................................................................................. 415 23.1.1 使用朴素贝叶斯方法 .............................................................................. 418 23.1.2 使用逻辑回归算法 .................................................................................. 422 23.2 如何提取特征 ...................................................................................................... 425 23.3 构造更多特征 ...................................................................................................... 429 23.4 模型保存与预测 .................................................................................................. 432 23.4.1 批式/流式预测任务 ................................................................................. 432 23.4.2 嵌入式预测 .............................................................................................. 433 第24章 构建推荐系统 ................................................................................................. 435 24.1 与推荐相关的组件介绍 ...................................................................................... 436 24.2 常用的推荐算法 .................................................................................................. 439 Alink 权威指南:基于 Flink 的机器学习实例入门(Python) XVI 24.2.1 协同过滤 .................................................................................................. 439 24.2.2 交替最小二乘法 ...................................................................................... 440 24.3 数据探索 .............................................................................................................. 441 24.4 评分预测 .............................................................................................................. 446 24.5 根据用户推荐影片 .............................................................................................. 448 24.6 计算相似影片 ...................................................................................................... 453 24.7 根据影片推荐用户 .............................................................................................. 456 24.8 计算相似用户 ...................................................................................................... 458
你还可能感兴趣
我要评论
|