《零基础入门Spark》学习笔记 Day 12

以GBDT和随机森林为例,它们处理数据的过程是相似的,原始数据都是经过StringIndexer、VectorAssembler和VectorIndexer这三个环节转化为训练样本,只不过GBDT最后用GBTRegressor来做回归,而随机森林用RandomForestClassifier来做分类

Spark MLlib Pipeline

Pipeline是一套基于DataFrame的高阶开发API,它让开发者以一种高效的方式,来打造端到端的机器学习流水线。

Pipeline的核心组件有两类,一类是Transformer,另一类是Estimator,这两个都属于转换器,比如StringIndexer、MinMaxScaler、Bucketizer、VectorAssembler

TransFormer

TransFormer的输入是DataFrame,输出也是DataFrame。都实现了setInputCol和setOutputCol这两个方法

优势:

  • 并行计算:与 RNN 不同,Transformer 可以并行处理整个序列,显著提高训练速度。
  • 长距离依赖:自注意力机制能够直接捕捉序列中任意位置之间的关系。
  • 可扩展性:通过堆叠更多层或增加模型尺寸,可以显著提升性能。

Estimator

Estimator是TensorFlow中的一个高级API,用于简化机器学习模型的训练、评估和预测过程。它提供了一种封装好的方式,可以快速构建和部署模型,特别适合生产环境。对比TransFormer,Estimator要简单点,它实际上就是各类模型算法,如随机森林、线性回归等,核心接口只有一个,就是fit

优势:

Estimator的设计使得代码更易于维护和扩展。它内置了模型检查点、日志记录和分布式训练支持,减少了开发者的重复工作。Estimator还支持自定义模型,灵活性较高。

构建Pipeline

一个Pipeline可以包含多个Transformer和Estimator,但最后一个环节必须是Estimator。Pipeline fit方法的输出结果,即是训练好的机器学习模型。它的核心优势是提升机器学习应用的开发效率,并同时消除测试样本与训练样本之间不一致这一致命隐患。Pipeline可用于作业内的代码复用,或是作业间的代码复用。

相关推荐
GEO从入门到精通12 小时前
课程怎么选?2026年GEO学习资源全梳理
学习
优化Henry12 小时前
LTE 载波频率与频点配置详解
运维·网络·学习·5g·信息与通信
xiaomu0012313 小时前
高湿环境床垫湿度管理技术框架:湿度阈值、排湿结构与材料选型
经验分享·学习·学习方法
zhangrelay13 小时前
ROS项目设计案例智能大模型正经乱答案例
linux·笔记·学习·ubuntu·机器人
probex_13 小时前
学习笔记:知识图谱是什么,在测试里能干什么
笔记·学习·知识图谱
以为你知道啊14 小时前
90年代复古博客
笔记
波力海苔夹心脆67514 小时前
C# 值类型与引用类型详解:存储位置、赋值机制、参数传递、相等比较、装箱拆箱与常见陷阱
开发语言·jvm·经验分享·笔记·c#·.net
FYKJ_201016 小时前
SSM校园失物招领系统41452-计算机课程设计、毕业设计
java·vue.js·spring boot·python·mysql·typescript·spark
每天题库16 小时前
危险货物道路运输从业资格证题库刷题重点与错题梳理
学习·安全·考试·题库·考证
m4Rk_16 小时前
【论文阅读】Agent 记忆机制(86):Skill-Pro——用 Non-Parametric PPO 将交互经验演化为可复用技能
论文阅读·人工智能·学习·开源·github