Spark MLlib(2)

Spark MLlib(2),第1张

Spark MLlib(2)

spark.ml 提供了基于Dataframes高层次的API,可以用来构建机器学习工作流(pipeline)

一.Pipelines的主要概念 Dataframe(数据模型

Dataframe作为ML的数据集

ML可以应用于各种各样的数据类型,比如向量,文本,图形和结构化数据。API采用Spark SQL的Dataframe就是为了支持各种各样的数据类型

Transformer(转换器

转换器是特征变换和机器学习模型的抽象。转换器必须实现transform方法,这个方法将一个Dataframe转换成另一个Dataframe,通常是附加一个或多个列

Estimators(模型学习器)

Estimators模型学习器是拟合和训练数据的机器学习算法或者其它算法的抽象

Estimators(模型学习器)实现fit()方法,这个方法输入一个Dataframe并产生一个model即一个transformer(转换器)

例如:一个机器学习算法是一个estimator模型学习器,比如这个算法是LogisticRegression,调用fit()方法训练出一个LogisticRegressionModel,这是一个Model,因此也是一个Transformer(转换器)

Pipeline(管道)

Pipeline将多个Transformers和Estimators绑在一起形成一个工作流,在机器学习中,通常会执行一系列算法来处理和学习模型,比如,一个简单的文本文档处理流程可能包含这几个步骤:把每个文档的文本分割成单词 → 将这些单词转化成一个数值型特征向量 → 使用特征向量和标签学习一个预测模型

MLlib代表一个流水线,就是一个pipeline,pipeline包含了一系列有特定顺序的管道步骤(transformers和estimators)

Parameter(参数)

MLlib的Estimators(模型学习器)和Transformer(转换器)使用统一的API来指定参数。Param是具有自包含定义的参数,ParamMap是一组(参数,值)对

将参数传递给算法主要有两种方式

二.Pipelines的实例

一个pipeline由多个步骤组成,每个步骤都是一个Transformer(转换器)或Estimator(模型学习器)

这些步骤按顺序执行,首先输入的Dataframe,然后通过每个阶段进行转换

在Transformer(转换器)步骤中,Dataframe会调用transform()方法

在Estimator(模型学习器)步骤中,fit()方法被调用并产生一个Transformer(转换器)会成为pipelinemodel的一部分,或者适配pipeline,并且dataframe会调用这个transformer的transform()方法

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5702197.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存