零基础入门 Spark
吴磊
前 FreeWheel 机器学习研发经理
19171 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 38 讲
零基础入门 Spark
15
15
1.0x
00:00/00:00
登录|注册

29 | Spark MLlib Pipeline:高效开发机器学习应用

你好,我是吴磊。
前面我们一起学习了如何在 Spark MLlib 框架下做特征工程与模型训练。不论是特征工程,还是模型训练,针对同一个机器学习问题,我们往往需要尝试不同的特征处理方法或是模型算法。
结合之前的大量实例,细心的你想必早已发现,针对同一问题,不同的算法选型在开发的过程中,存在着大量的重复性代码。
以 GBDT 和随机森林为例,它们处理数据的过程是相似的,原始数据都是经过 StringIndexer、VectorAssembler 和 VectorIndexer 这三个环节转化为训练样本,只不过 GBDT 最后用 GBTRegressor 来做回归,而随机森林用 RandomForestClassifier 来做分类。
重复的处理逻辑
不仅如此,在之前验证模型效果的时候我们也没有闭环,仅仅检查了训练集上的拟合效果,并没有在测试集上进行推理并验证。如果我们尝试去加载新的测试数据集,那么所有的特征处理过程,都需要在测试集上重演一遍。无疑,这同样会引入大量冗余的重复代码。
那么,有没有什么办法,能够避免上述的重复开发,让 Spark MLlib 框架下的机器学习开发更加高效呢?答案是肯定的,今天这一讲,我们就来说说 Spark MLlib Pipeline,看看它如何帮助开发者大幅提升机器学习应用的开发效率。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Spark MLlib Pipeline是一套基于DataFrame的高阶开发API,旨在提高机器学习应用的开发效率。Pipeline的核心组件包括Transformer和Estimator,通过它们可以构建端到端的机器学习流水线,避免重复开发,提升开发效率。文章深入解释了Pipeline的核心组件及其功能,并结合具体代码示例,展示了如何构建Pipeline、准备数据、定义Transformer和Estimator,以及如何使用Pipeline进行模型训练和保存。通过文章的讲解,读者可以快速了解Spark MLlib Pipeline的作用、定义及使用方法,为他们提供了清晰的技术概览,帮助他们更好地应用该技术进行机器学习应用开发。Pipeline的优势在于提升开发效率,消除测试样本与训练样本不一致的隐患,以及在作业内外的代码复用。读者还可以学习如何利用Pipeline完成数据推断和模型选型,从而降低开发成本,将精力集中在特征工程与模型调优上。整个文章围绕特征工程、模型训练和机器学习流水线等方面,梳理了Spark MLlib子框架为开发者提供的能力,使读者能够灵活地应对不断变化的业务需求。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《零基础入门 Spark》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • 空de
    Spark 搞时序异常分析,用什么库比较好?

    作者回复: Druid用的比较多,OpenTSDB也可以考虑,其他一些option,比如InfluxDB、Timescale,由于分布式需要自己实现,不太推荐哈

    2022-03-04
  • Geek_fe18e0
    老师好,以现在的职场环境,如果校招生以大数据开发为目标的话,将来能慢慢历练为大数据全栈吗(包括大数据算法)?似乎现在大数据行业都是以数仓开发为主。
    2022-07-23
    1
收起评论
显示
设置
留言
2
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部