Spark机器学习库简介
MLlib是Spark的机器学习库。旨在简化机器学习的工程实践工作,并方便扩展到更大规模。MLlib由一些通用的学习算法和工具组成,包括分类、回归、聚类、协同过滤、降维等,同时还包括底层的优化原语和高层的管道API。
它提供如下工具:
- 机器学习算法:常规机器学习算法包括分类、回归、聚类和协同过滤。
- 特征工程:特征提取、特征转换、特征选择以及降维。
- 管道:构造、评估和调整的管道的工具。
- 存储:保存和加载算法、模型及管道。
- 实用工具:线性代数,统计,数据处理等。
Spark机器学习库MLlib和ML
Spark机器学习库从 1.2 版本以后被分为两个包,分别是:
spark.mllib 包含基于RDD的原始算法API。
Spark MLlib 历史比较长,1.0 以前的版本中已经包含了,提供的算法实现都是基于原始的 RDD,从学习角度上来讲,其实比较容易上手。如果您已经有机器学习方面的经验,那么您只需要熟悉下 MLlib 的 API 就可以开始数据分析工作了。想要基于这个包提供的工具构建完整并且复杂的机器学习流水线是比较困难的。spark.ml 则提供了基于DataFrames 高层次的API,可以用来构建机器学习管道。
Spark ML Pipeline 从 Spark1.2 版本开始,成为可用并且较为稳定的新的机器学习库。ML Pipeline 弥补了原始 MLlib 库的不足,向用户提供了一个基于 DataFrame 的机器学习工作流式 API 套件,使用 ML Pipeline API