0、简介
sparkMLlib是spark中的一个算法包,主要是进行一些机器学习相关的操作及计算,主要包括以下几个方面:
序号 | 特征 | 特征描述 |
1 | ML算法 | 常见的学习算法,例如分类,回归,聚类和协作过滤 |
2 | 特征化 | 特征提取,变换,降维和选择 |
3 | 管道 | 用于构建,评估和调整ML管道的工具 |
4 | 持久性 | 保存和加载算法,模型和管道 |
5 | 实用程序 | 线性代数,统计信息,数据处理等 |
1、官方API介绍
1.1、官方API之基于RDD
声明:The MLlib RDD-based API is now in maintenance mode.
1.2、官方API之基于DataFrame
声明: DataFrame-based API is primary API
1.3、说明
从Spark 2.0开始,spark.mllib软件包中基于RDD的API已进入维护模式。 Spark的主要机器学习API现在是spark.ml软件包中基于DataFrame的API。
MLlib包括基于RDD的API和基于DataFrame的API。 基于RDD的API现在处于维护模式。 但是既不弃用API,也不弃用MLlib。
2、spark.mllib软件包依赖项
1、MLlib使用线性代数软件包Breeze,该软件包依赖于 netlib-java进行优化的数值处理。如果本机库1在运行时不可用,您将看到警告消息,而将使用纯JVM实现。
2、由于运行时专有二进制文件存在许可问题,因此netlib-java
默认情况下,我们不包含的本机代理。要配置netlib-java
/ Breeze使用系统优化的二进制文件,请包含 com.github.fommil.netlib:all:1.1.2
(或使用构建Spark -Pnetlib-lgpl
)作为您项目的依赖项,并阅读netlib-java文档以获取平台的其他安装说明。
3、要在Python中使用MLlib,您将需要NumPy 1.4版或更高版本。
3、项目依赖坐标
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-mllib_2.11</artifactId>
<version>${spark.version}</version>
</dependency>
说明:版本最好使用最新版本,因为最新版本里面算法更全,更完善,解决了前期版本中出现的bug。
有问题请联系QQ:765120845