🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
从Spark2.0开始,基于RDD API的`spark.mlib`机器学习库进入维护阶段,不再新增功能,从而开发出了基于DataFrame API的机器学习库`spark.ml`。 <br/> **为什么要从`spark.mlib`迁移到`spark.ml`:** (1)DataFrames 提供比 RDD 更友好的 API。DataFrame 的许多优点包括Spark支持多种数据源、DataFrame支持SQL查询、Tungsten 和 Catalyst 优化以及跨语言的统一 API。 (2)MLlib 的基于 DataFrame 的 API 提供跨 ML 算法和跨多种语言的统一 API。 (3)数据框便于实际的 ML 管线,特别是功能转换。 <br/> **ML 和 MLlib 的区别:** (1)ML 是升级版的 MLlib,最新的 Spark 版本优先支持 ML。 (2)ML 支持 DataFrame 数据结构和 Pipelines,而 MLlib 仅支持 RDD 数据结构。 (3)ML 明确区分了分类模型和回归模型,而 MLlib 并未在顶层做此类区分。 (4)ML 通过 DataFrame 元数据来区分连续和分类变量。 (5)ML 中的随机森林支持更多的功能:包括重要度、预测概率输出等,而MLlib 不支持。