Spark实战第5部分使用MLPipeline构建机器学习工作流资料.docxVIP

Spark实战第5部分使用MLPipeline构建机器学习工作流资料.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Spark 实战,第 5 部分: 使用 ML Pipeline 构建机器学习工作流本文将通过一个分类预测的机器学习问题向读者展示如何使用 Spark 新的 ML Pipeline 库构建机器学习的工作流。通过本文的阅读,读者将会了解到 ML Pipeline 与MLlib相比在设计上的独到和使用上的不同之处,并且会深入理解 ML Pipeline 的基本概念和工作方式,为进一步学习和深入研究打下良好的基础。查看本系列更多内容?|?2?评论:王龙, 软件工程师, IBM2015 年 11 月 02 日内容在 IBM Bluemix云平台上开发并部署您的下一个应用。开始您的试用引言使用机器学习 (Machine Learning) 技术和方法来解决实际问题,已经被成功应用到多个领域,我们经常能够看到的实例有个性推荐系统,金融反欺诈,自然语言处理和机器翻译,模式识别,智能控制等。一个典型的机器学习机器学习过程通常会包含:源数据 ETL,数据预处理,指标提取,模型训练与交叉验证,新数据预测等。我们可以看到这是一个包含多个步骤的流水线式工作,也就是说数据从收集开始,要经历多个步骤,才能得到我们需要的输出。在本系列第 4 部分已经向大家介绍了 Spark MLlib机器学习库, 虽然MLlib已经足够简单易用,但是如果目标数据集结构复杂需要多次处理,或者是对新数据进行预测的时候需要结合多个已经训练好的单个模型进行综合预测 (集成学习的思想),那么使用MLlib将会让程序结构复杂,难于理解和实现。值得庆幸的是,在 Spark 的生态系统里,一个可以用于构建复杂机器学习工作流应用的新库已经出现了,它就是 Spark 1.2 版本之后引入的 ML Pipeline,经过几个版本的发展,截止目前的 1.5.1 版本已经变得足够稳定易用了。本文将向读者详细地介绍 Spark ML Pipeline 的设计思想和基本概念,以及如何使用 ML Pipeline 提供的 API 库编写一个解决分类预测问题的 Pipeline 式应用程序。相信通过本文的学习,读者可以较为深入的理解 ML Pipeline,进而将它推广和应用到更多复杂问题的解决方案上去。回页首关于 ML PipelineSpark ML Pipeline 的出现,是受到了?scikit-learn?项目的启发,并且总结了MLlib在处理复杂机器学习问题上的弊端,旨在向用户提供基于DataFrame之上的更加高层次的 API 库,以更加方便的构建复杂的机器学习工作流式应用。一个 Pipeline 在结构上会包含一个或多个PipelineStage,每一个PipelineStage都会完成一个任务,如数据集处理转化,模型训练,参数设置或数据预测等,这样的PipelineStage在 ML 里按照处理问题类型的不同都有相应的定义和实现。接下来,我们先来了解几个重要概念。DataFrame关于DataFrame其实我们已经在本系列第 3 部分介绍过了,它较之 RDD,包含了 schema 信息,更类似传统数据库中的二维表格。它被 ML Pipeline 用来存储源数据。DataFrame可以被用来保存各种类型的数据,如我们可以把特征向量存储在DataFrame的一列中,这样用起来是非常方便的。TransformerTransformer 中文可以被翻译成转换器,是一个PipelineStage,实现上也是继承自PipelineStage类,主要是用来把一个DataFrame转换成另一个DataFrame,比如一个模型就是一个 Transformer,因为它可以把一个不包含预测标签的测试数据集DataFrame打上标签转化成另一个包含预测标签的DataFrame,显然这样的结果集可以被用来做分析结果的可视化。EstimatorEstimator 中文可以被翻译成评估器或适配器,在 Pipeline 里通常是被用来操作DataFrame数据并生产一个 Transformer,如一个随机森林算法就是一个 Estimator,因为它可以通过训练特征数据而得到一个随机森林模型。实现上 Estimator 也是继承自PipelineStage类。ParameterParameter 被用来设置 Transformer 或者 Estimator 的参数。要构建一个 Pipeline,首先我们需要定义 Pipeline 中的各个PipelineStage,如指标提取和转换模型训练等。有了这些处理特定问题的 Transformer 和 Estimator,我们就可以按照具体的处理逻辑来有序的组织PipelineStages并创建一个 Pipeline,如val pipeline = new Pipeline().s

文档评论(0)

希望之星 + 关注
实名认证
文档贡献者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档