机器学习(十一) 机器学习工作流

本文介绍了机器学习工作流的概念,包括DataFrame、Transformer、Estimator和Pipeline等关键概念。工作流从数据收集开始,经过多个步骤,如数据预处理、模型训练和预测。MLlib的Pipeline API简化了流程,允许将多个算法组合。以逻辑回归为例,展示了如何构建训练数据集、定义PipelineStage、创建Pipeline、训练模型并进行预测。工作流确保训练和测试数据经过相同处理步骤,提高预测一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、概念

一个典型的机器学习过程从数据收集开始,要经历多个步骤,才能得到需要的输出。这非常类似于流水线式工作,即通常会包含源数据ETL(抽取、转化、加载),数据预处理,指标提取,模型训练与交叉验证,新数据预测等步骤。

MLlib标准化了用于机器学习算法的API,从而使将多种算法组合到单个管道或工作流程中变得更加容易。 本节介绍了Pipelines API引入的关键概念,其中PipeLine(管道)概念主要受scikit-learn项目的启发。

在介绍工作流之前,我们先来了解几个重要概念:

  • DataFrame:使用Spark SQL中的DataFrame作为ML数据集,该数据集可以保存各种数据类型。 例如,DataFrame可以具有不同的列,用于存储文本,特征向量,真实标签和预测。

  • Transformer:翻译成转换器,是一种算法,可以将一个DataFrame转换为另一个DataFrame。 例如,ML模型是一个Transformer,它将具有特征的DataFrame转换为具有预测的DataFrame。

  • Estimator:翻译成评估器,它是学习算法或在训练数据上的训练方法的概念抽象。在 Pipeline 里通常是被用来操作 DataFrame 数据并生产一个 Transformer。从技术上讲,Estimator实现了一个方法fit(),它接受一个DataFrame并产生一个转换器。例如,诸如LogisticRegression之类的学习算法是Estimator,调用fit()可以训练LogisticRegressionModel,后者是Model,因此是Transformer。

  • Parameter:Parameter 被用来设置 Transformer 或者 Estimator 的参数。现在,所有转换器和估计器可共享用于指定参数的公共API。ParamMap是一组(参数,值)对。

  • PipeLine:翻译为工作流或者管道。管道将多个“变形器”和“估计器”链接在一起,以指定ML工作流程,并获得结果输出。 例如,简单的文本文档处理工作流程可能包括几个阶段:
    1、将每个文档的文本拆分为单词。
    2、将每个文档的单词转换成数字特征向量。
    3、使用特征向量和标签学习预测模型。
    MLlib将这样的工作流表示为“管道”,它由要按特定顺序运行的一系列PipelineStages(变压器和估计器)组成。

二、工作原理

要构建一个 Pipeline工作流,首先需要定义 Pipeline 中的各个工作流阶段PipelineStage,(包括转换器和评估器),比如指标提取和转换模型训练等。有了这些处理特定问题的转换器和 评估器,就可以按照具体的处理逻辑有序的组织Pipe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值