Apache Spark机器学习.1.4 MLlib

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介:

1.4 MLlib


MLlib是一个可扩展的Spark机器学习库,包括很多常用的机器学习算法。MLlib内置的算法如下:

以向量和矩阵形式处理数据

基本的统计计算,例如:汇总统计和相关性、简单随机数生成、分层抽样、执行简单的假设检验

分类和回归建模

协同过滤

聚类

降维

特征提取与转换

频繁模式挖掘

开发优化

PMML模型导出

Spark MLlib还处在活跃开发阶段,预计每次新版发布都会有新的算法加入其中。

MLlib符合Apache Spark的计算哲学,简单易用,性能卓越。

MLlib使用依赖于netlib-java和jblas的线性代数包Breeze。netlib-java和jblas依赖于本地Fortran程序。如果节点没有安装gfortran运行库,用户需要自行安装。要是没有自动检测到库,MLlib会报链接错误。

关于MLib用例和详细的使用信息,请访问:http://researcher.watson.ibm.com/researcher/files/us-ytian/systemML.pdf。

其他机器学习库

正如前面讨论的,MLlib已经实现了常用的回归和分类算法。但这些基本的算法不足以支持复杂的机器学习。

如果我们等待Spark团队将所有需要的机器学习算法加入库中,则需要很长时间。正因为如此,很多第三方团队向Spark贡献了机器学习库。

IBM已经向Apache Spark贡献了机器学习库SystemML。

除了MLlib提供的功能外,SystemML提供了更丰富的机器学习算法,如缺失数据填补、SVM、GLM、ARIMA、非线性优化、图建模及矩阵分解等算法。

SystemML由IBM Almaden研究组开发,是一个分布式机器学习引擎,可以扩展到任意大的数据集,它的优势有:

整合了分散的机器学习环境

给出了Spark核心生态完整的DML集

允许数据科学家集中精力关注算法问题,而不是具体实现

提升了数据科学团队的时间价值

建立了一个事实上可重用的机器学习程序标准

SystemML参考了R 语言语法和语义,并提供通过其自己的语言编写新算法的能力。

Spark通过SparkR与R语言进行了较好的集成,用户需要时可以使用R语言众多的机器学习算法。正如后面我们要讨论的,SparkR notebook使得这些操作非常容易。

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
6月前
|
存储 机器学习/深度学习 Apache
如何将Apache Hudi应用于机器学习
如何将Apache Hudi应用于机器学习
62 0
|
6月前
|
机器学习/深度学习 数据采集 分布式计算
【机器学习】Spark ML 对数据进行规范化预处理 StandardScaler 与向量拆分
标准化Scaler是数据预处理技术,用于将特征值映射到均值0、方差1的标准正态分布,以消除不同尺度特征的影响,提升模型稳定性和精度。Spark ML中的StandardScaler实现此功能,通过`.setInputCol`、`.setOutputCol`等方法配置并应用到DataFrame数据。示例展示了如何在Spark中使用StandardScaler进行数据规范化,包括创建SparkSession,构建DataFrame,使用VectorAssembler和StandardScaler,以及将向量拆分为列。规范化有助于降低特征重要性,提高模型训练速度和计算效率。
126 6
|
6月前
|
机器学习/深度学习 分布式计算 算法
【机器学习】Spark ML 对数据特征进行 One-Hot 编码
One-Hot 编码是机器学习中将离散特征转换为数值表示的方法,每个取值映射为一个二进制向量,常用于避免特征间大小关系影响模型。Spark ML 提供 OneHotEncoder 进行编码,输入输出列可通过 `inputCol` 和 `outputCol` 参数设置。在示例中,先用 StringIndexer 对类别特征编码,再用 OneHotEncoder 转换,最后展示编码结果。注意 One-Hot 编码可能导致高维问题,可结合实际情况选择编码方式。
83 6
|
5月前
|
机器学习/深度学习 分布式计算 API
技术好文:Spark机器学习笔记一
技术好文:Spark机器学习笔记一
42 0
|
6月前
|
机器学习/深度学习 分布式计算 算法
使用Spark进行机器学习
【5月更文挑战第2天】使用Spark进行机器学习
73 2
|
6月前
|
存储 机器学习/深度学习 Apache
Apache Hudi与机器学习特征存储
Apache Hudi与机器学习特征存储
84 0
|
6月前
|
存储 机器学习/深度学习 分布式计算
Apache Hudi在Hopsworks机器学习的应用
Apache Hudi在Hopsworks机器学习的应用
127 0
|
6月前
|
机器学习/深度学习 分布式计算 算法
Spark MLlib简介与机器学习流程
Spark MLlib简介与机器学习流程
|
1月前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
650 13
Apache Flink 2.0-preview released
|
1月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
73 3

推荐镜像

更多
下一篇
无影云桌面