千家信息网

Spark2.2 机器学习库MLlib的原理分析是怎样的

发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,这期内容当中小编将会给大家带来有关Spark2.2 机器学习库MLlib的原理分析是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。机器学习库(MLlib)ML
千家信息网最后更新 2025年02月06日Spark2.2 机器学习库MLlib的原理分析是怎样的

这期内容当中小编将会给大家带来有关Spark2.2 机器学习库MLlib的原理分析是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

机器学习库(MLlib)

MLlib是Spark的机器学习(ML)库。机器学习具有可扩展性和易用性。提供高级API,它提供了以下工具:

ML算法:常见的学习算法,如分类、回归、聚类和协同过滤

  • 特征化:特征提取、变换、降维和选择

  • 管道:用于构建、评估和调优ML管道的工具

  • 持久性:保存和加载算法、模型和管道

  • 实用程序:线性代数,统计学,数据处理等。

声明:基于DataFrame的API是主要API

基于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或更高版本。

2.2中的亮点

下面的列表重点介绍了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在将来的版本中可能会发生变化,下面的迁移指南将解释版本之间的所有变化。

从2.1到2.2

突破性变化

没有突破性的变化。

反对和改变行为

反对

没有人反对。

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的原理分析是怎样的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

学习 机器 版本 功能 算法 分析 模式 特征 管道 变化 线性 支持 原理 二进制 代数 内容 名称 奇偶 工具 指南 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 mysql数据库日期格式 牵牛花的白描图谱数据库 虹口区什么是网络技术转让产品 总体国家安全观网络安全表述 腾讯天美服务器社招面试流程 计算机数据库英语怎么写 软件开发和数据管理哪个好 如何让网络安全落到实处 银行柜台和软件开发中心哪个好 长春天翼互联网科技有限公司 被选择的关键字数据库 软件开发公司保密级别 中队开展网络安全大检查 笔记本dns服务器地址获取不到 签订网络安全责任制 网络安全突发事件应当 樱桃直播服务器错误521 清华大学专业计算机网络技术 switch所有服务器 网络安全工作培训会简报 搜索数据库的结构 网络安全制定标准 hive空间数据库 sql中执行数据库语句 河南智慧城管软件开发电话 服务器性能监控费用一年 马来西亚互联网农业科技 软件开发产品部工作职责 数据库用的是什么数据结构 我的世界服务器如何显示玩家名字
0