11.7 流水线API

从 Spark 1.2 起,基于机器学习流水线的概念,MLlib 增加了一套新的高层机器学习 API。

这套 API 和 SciKit-Learn(http://scikit-learn.org)中提供的流水线 API 比较相似。
简单地说,流水线就是一系列转化数据集的算法(要么是特征转化,要么是模型拟合)。
流水线的每个步骤都可能有参数(例如逻辑回归中的迭代次数)。
流水线 API 通过使用所选的评估矩阵评估各个集合,使用网格搜索自动找到最佳的参数集。

流水线 API 使用 Spark SQL 中的 SchemaRDD 作为统一的数据集表示形式。
SchemaRDD 中有多个有名字的列,这样要引用数据的不同字段就会比较容易。
流水线的各步骤可能会给 SchemaRDD 加上新的列(例如提取了特征的数据)。