一.机器学习库
MLlib是Spark的机器学习库【ML】。其目标是使实用的机器学习算法变得可扩展且容易使用。在较高级别,它提供了以下工具:
- 机器学习算法:常见的机器学习算法,例如分类,回归,聚类和协同过滤。
- 特征化:特征提取,变换,降维和选择。
- 管道:用于构建,评估和调整ML管道的工具。
- 持久性:保存和加载算法、模型和管道。
- 实用程序:线性代数,统计信息,数据处理等。
二.基于DataFrame的API
基于MLlib RDD的API现在处于维护模式。
从Spark 2.0开始,软件包中基于RDD的API spark.mllib 已进入维护模式。现在,用于Spark的主要机器学习API是软件包中基于DataFrame的API spark.ml。
这意味着什么?
- MLlib仍将通过错误修复的方式使用spark.mllib支持基于RDD的API 。
- MLlib不会向基于RDD的API添加新功能。
- 在Spark 2.x发行版中,MLlib将向基于DataFrames的API添加功能,以与基于RDD的API达到功能奇偶。
为什么MLlib切换到基于DataFrame的API?
- 与RDD相比,DataFrames提供了更加用户友好的API。DataFrames的许多好处包括Spark数据源、SQL查询、Tungsten和Catalyst优化以及跨语言的统一API。
- 用于MLlib的基于DataFrame的API为ML算法和