赞
踩
学习地址:https://spark.apache.org/docs/latest/ml-guide.html
MLlib是Spark的机器学习(ML)库。其目标是使实用的机器学习可扩展且容易。在较高级别,它提供了以下工具:
基于MLlib RDD的API现在处于维护模式。
从Spark 2.0开始,软件包中基于RDD的API spark.mllib
已进入维护模式。现在,用于Spark的主要机器学习API是软件包中基于DataFrame的API spark.ml
。
这意味着什么?
spark.mllib
通过错误修复来支持基于RDD的API 。为什么MLlib切换到基于DataFrame的API?
什么是“ Spark ML”?
org.apache.spark.ml
基于DataFrame的API使用的Scala软件包名称,以及我们最初用来强调管道概念的“ Spark ML Pipelines”一词。MLlib是否已弃用?
MLlib使用线性代数程序包Breeze,该程序依赖于 netlib-java进行优化的数值处理。如果本机库1在运行时不可用,您将看到警告消息,而将使用纯JVM实现。
由于运行时专有二进制文件存在许可问题,因此netlib-java
默认情况下,我们不包含的本机代理。要配置netlib-java
/ Breeze使用系统优化的二进制文件,请包含 com.github.fommil.netlib:all:1.1.2
(或使用构建Spark -Pnetlib-lgpl
)作为项目的依赖项,并阅读netlib-java文档以获取平台的其他安装说明。
最受欢迎的本机BLAS(例如Intel MKL,OpenBLAS)可以在单个操作中使用多个线程,这可能与Spark的执行模型冲突。
将这些BLAS实现配置为使用单个线程进行操作实际上可以提高性能(请参阅SPARK-21305)。通常,最好将此配置与每个Spark任务配置为使用的内核数匹配,默认情况下为1,通常保留为1。
请参考以下资源,以了解如何配置这些BLAS实现使用的线程数:Intel MKL或Intel oneMKL和OpenBLAS。请注意,如果未在系统中正确配置nativeBLAS,则将使用java实现(f2jBLAS)作为后备选项。
要在Python中使用MLlib,您将需要NumPy 1.4版或更高版本。
以下列表突出显示了3.0
Spark版本中添加到MLlib的一些新功能和增强功能:
Binarizer
(SPARK-23578),StringIndexer
(SPARK-11215),StopWordsRemover
(SPARK-29808)和PySpark QuantileDiscretizer
(SPARK-22796)。MultilabelClassificationEvaluator
(SPARK-16692)和RankingEvaluator
(SPARK-28045)。DecisionTreeClassifier/Regressor
(SPARK-19591),RandomForestClassifier/Regressor
(SPARK-9478),GBTClassifier/Regressor
(SPARK-9612), MulticlassClassificationEvaluator
(SPARK-24101),RegressionEvaluator
(SPARK-24102),BinaryClassificationEvaluator
(SPARK-24103),BisectingKMeans
(SPARK-30351),KMeans
(SPARK -29967)和GaussianMixture
(SPARK-30102)。PowerIterationClustering
添加了R API (SPARK-19827)。RobustScaler
添加了变压器(SPARK-28399)。Factorization Machines
添加了分类器和回归器(SPARK-29224)。predictRaw
在所有分类模型中公开。predictProbability
在除LinearSVCModel
(SPARK-30358)之外的所有分类模型中公开。现在,迁移指南已存档在此页面上。
要了解有关系统优化的本机的好处和背景的更多信息,您可能希望观看Sam Halliday的ScalaX关于Scala中的高性能线性代数的演讲。 ↩
本页记录了MLlib指南中有关基于RDD的API(spark.mllib
程序包)的各个部分。请参阅基于DataFrame的API(程序包)的MLlib主指南,该指南spark.ml
现在是MLlib的主要API。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。