MLlib 是 Apache Spark 的可扩展机器学习库。

易用性

可在 Java、Scala、Python 和 R 中使用。

MLlib 融入 Spark 的 API,并与 Python 中的 NumPy(从 Spark 0.9 开始)和 R 库(从 Spark 1.5 开始)互操作。您可以使用任何 Hadoop 数据源(例如 HDFS、HBase 或本地文件),使其易于插入 Hadoop 工作流程。

data = spark.read.format("libsvm")\
  .load("hdfs://...")

model = KMeans(k=10).fit(data)
在 Python 中调用 MLlib

性能

高质量算法,比 MapReduce 快 100 倍。

Spark 擅长迭代计算,使 MLlib 能够快速运行。同时,我们关心算法性能:MLlib 包含利用迭代的高质量算法,并且可以产生比有时在 MapReduce 上使用的单遍近似值更好的结果。

Hadoop 和 Spark 中的逻辑回归

随处运行

Spark 可以在 Hadoop、Apache Mesos、Kubernetes、独立模式或云中运行,针对各种数据源。

您可以使用其 独立集群模式 运行 Spark,在 EC2 上,在 Hadoop YARN 上,在 Mesos 上,或在 Kubernetes 上。访问 HDFSApache CassandraApache HBaseApache Hive 和数百个其他数据源中的数据。

算法

MLlib 包含许多算法和实用程序。

ML 算法包括

  • 分类:逻辑回归、朴素贝叶斯、...
  • 回归:广义线性回归、生存回归、...
  • 决策树、随机森林和梯度提升树
  • 推荐:交替最小二乘法 (ALS)
  • 聚类:K 均值、高斯混合模型 (GMM)...
  • 主题建模:潜在狄利克雷分配 (LDA)
  • 频繁项集、关联规则和序列模式挖掘

ML 工作流实用程序包括

  • 特征转换:标准化、归一化、哈希、...
  • ML 管道构建
  • 模型评估和超参数调整
  • ML 持久性:保存和加载模型和管道

其他实用程序包括

  • 分布式线性代数:SVD、PCA、...
  • 统计:汇总统计、假设检验、...

请参阅 MLlib 指南 以获取使用示例。

社区

MLlib 是作为 Apache Spark 项目的一部分开发的。因此,它在每次 Spark 发布时都会进行测试和更新。

如果您对该库有任何疑问,请在 Spark 邮件列表 上提问。

MLlib 仍然是一个快速发展的项目,欢迎贡献。如果您想向 MLlib 提交算法,请阅读 如何为 Spark 做贡献 并向我们发送补丁!

入门

要开始使用 MLlib

  • 下载 Spark。MLlib 作为模块包含在内。
  • 阅读 MLlib 指南,其中包含各种使用示例。
  • 如果您想在分布式模式下运行,请了解如何在集群上 部署 Spark。您也可以在没有任何设置的情况下在多核机器上本地运行。
最新消息

存档