JobPlus知识库 IT 大数据 文章
MLlib官方简介

MLlib是Spark的机器学习(ML)库。 其目标是使实际的机器学习具有可扩展性和易用性。

在较高的层面上,它提供了以下工具:

(1)ML算法:通用学习算法,如分类,回归,聚类和协作过滤

(2)特征提取:特征提取,转换,降维和选择

(3)管道:用于构建,评估和调整ML管道的工具

(4)持久性:保存和加载算法,模型和管道

(5)实用程序:线性代数,统计,数据处理等

公告:基于DataFrame的API是主要的API

基于MLlib RDD的API现在处于维护模式。

从Spark 2.0开始,spark.mllib包中的基于RDD的API已进入维护模式。 Spark的主要机器学习API现在是spark.ml包中的基于DataFrame的API。

什么影响?

(1)MLlib仍然会支持spark.mllib中基于RDD的API并提供错误修复。

(2)MLlib不会将新功能添加到基于RDD的API。

(3)在Spark 2.x版本中,MLlib将向基于DataFrames的API添加功能以达到与基于RDD的API的功能一致性。

(4)达到功能奇偶校验(大致估计为Spark 2.3)后,基于RDD的API将被弃用。

(5)预计在Spark 3.0中将删除基于RDD的API。

为什么MLlib切换到基于DataFrame的API?

(1)DataFrames提供比RDD更友好的API。 DataFrame的许多优点包括Spark数据源,SQL / DataFrame查询,Tungsten和Catalyst优化以及跨语言的统一API。

(2)MLlib的基于DataFrame的API提供跨ML算法和跨多种语言的统一API。

(3)DataFrames方便实用ML管道,特别是功能转换。 有关详细信息,请参阅管道指南。

什么是“Spark ML”?

“Spark ML”不是一个正式名称,但偶尔用于指代基于MLlib DataFrame的API。 这主要是由于基于DataFrame的API所使用的org.apache.spark.ml Scala包名称以及我们最初用来强调管道概念的“Spark ML Pipelines”术语。

MLlib是否被弃用?

不会,MLlib包含基于RDD的API和基于DataFrame的API。 基于RDD的API现在处于维护模式。 但是这两种API都没有被弃用,也没有和MLlib作为一个整体。

 依赖

MLlib使用线性代数包Breeze,它依赖于netlib-java进行优化的数值处理。 如果本机库1在运行时不可用,您将看到一条警告消息,而将使用纯JVM实现。



如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持
322人赞 举报
分享到
用户评价(0)

暂无评价,你也可以发布评价哦:)

扫码APP

扫描使用APP

扫码使用

扫描使用小程序