重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这期内容当中小编将会给大家带来有关Spark2.2 机器学习库MLlib的原理分析是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站设计、中江网络推广、小程序定制开发、中江网络营销、中江企业策划、中江品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供中江建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
MLlib是Spark的机器学习(ML)库。机器学习具有可扩展性和易用性。提供高级API,它提供了以下工具:
ML算法:常见的学习算法,如分类、回归、聚类和协同过滤
特征化:特征提取、变换、降维和选择
管道:用于构建、评估和调优ML管道的工具
持久性:保存和加载算法、模型和管道
实用程序:线性代数,统计学,数据处理等。
基于MLlib RDD的API现在处于维护模式。
从Spark 2.0开始,在spark.mllib
程序包已进入维护模式。Spark的主要机器学习API现在是DataFrame-based API spark.ml
。
有什么影响 ?
MLlib将支持基于RDD的API spark.mllib
以及错误修复。
MLlib不会为基于RDD的API添加新功能 。
在Spark 2.x版本中,MLlib将为基于DataFrames的API添加功能,以实现与基于RDD的API的功能奇偶校验。
在达到功能奇偶校验(粗略估计Spark 2.3)之后,将弃用基于RDD的API。
The RDD-based API is expected to be removed in Spark 3.0.
预计将在Spark 3.0中删除基于RDD的API。
为什么MLlib会切换到基于DataFrame的API?
DataFrames提供比RDD更加用户友好的API。DataFrame的许多优势包括Spark Datasources, SQL/DataFrame queries,Tungsten和Catalyst优化以及跨语言的统一API。
基于DataFrame的MLlib API跨ML算法和多种语言提供统一的API。
DataFrames有助于的ML Pipelines,特别是特征变换。有关详细信息,请参阅Pipelines guide。
什么是“Spark ML”?
“Spark ML”不是官方名称,但偶尔用于指代基于MLlib DataFrame的API。这主要是由于org.apache.spark.ml
基于DataFrame的API使用的Scala包名称,以及我们最初用来强调管道概念的“Spark ML Pipelines”术语。
MLlib已被弃用吗?
不,MLlib包括基于RDD的API和基于DataFrame的API。基于RDD的API现在处于维护模式。但是API和MLlib都没有被弃用。
MLlib使用线性代数包Breeze,它依赖于 netlib-java进行优化的数值处理。如果本机库1在运行时不可用,您将看到一条警告消息,而将改用纯JVM实现。
由于运行时专有二进制文件的许可问题,我们netlib-java
默认情况下不包含本机代理。要配置netlib-java
/ Breeze以使用系统优化的二进制文件,请包含 com.github.fommil.netlib:all:1.1.2
(或构建Spark with -Pnetlib-lgpl
)作为项目的依赖项,并阅读netlib-java文档以获取平台的其他安装说明。
要在Python中使用MLlib,您将需要额外的NumPy版本以及1.4或更高版本。
下面的列表重点介绍了Spark 2.2版本中添加到MLlib的一些新特性和增强功能:
所有用户或项目的top-k推荐的ALS方法,与mllib(SPARK-19535)中的功能相匹配。ml和mllib (SPARK-11968 and SPARK-20587)的性能也有所提高
用DataFrames 统计 相关性 和 ChiSquareTest
(SPARK-19636 and SPARK-19635)
FPGrowth
频繁模式挖掘算法 (SPARK-14503)
GLM
now supports the full Tweedie
family (SPARK-18929)
Imputer
用于填充数据集中缺失值的特征转换器 (SPARK-13568)
LinearSVC
线性支持向量机分类 (SPARK-14709)
Logistic回归现在支持在训练期间对系数的约束 (SPARK-20047)
MLlib正在积极开发中。标记为Experimental/DeveloperApi的api在将来的版本中可能会发生变化,下面的迁移指南将解释版本之间的所有变化。
没有突破性的变化。
反对
没有人反对。
Changes of behavior
SPARK-19787: Default value of regParam
changed from 1.0
to 0.1
for ALS.train
method (marked DeveloperApi
). Note this does not affect the ALS
Estimator or Model, nor MLlib’s ALS
class.
SPARK-14772: Fixed inconsistency between Python and Scala APIs for Param.copy
method.
SPARK-11569: StringIndexer
now handles NULL
values in the same way as unseen values. Previously an exception would always be thrown regardless of the setting of the handleInvalid
parameter.
上述就是小编为大家分享的Spark2.2 机器学习库MLlib的原理分析是怎样的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。