利用pyspark.ml训练lightgbm模型的流程

本文介绍了在Spark上利用pyspark.ml训练LightGBM模型的优势,包括内存计算模型适合迭代计算和高效通信。同时,文章提到了Spark训练模型的配置繁琐和特定数据格式要求等劣势。通过MMLSpark工具,实现了LightGBM在Spark上的集成,并给出了安装环境、依赖包和简单的训练案例。最后,展示了如何将模型保存为PMML格式。

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

在spark上训练模型的优势:

(1)机器学习算法一般都有很多个步骤迭代计算的过程,机器学习的计算需要在多次迭代后获得足够小的误差或者足够收敛才会停止,迭代时如果使用一般的Hadoop分布式计算框架,每次计算都要读 / 写磁盘以及任务的启动等工作,这回导致非常大的 I/O 和 CPU 消耗。而 Spark 基于内存的计算模型天生就擅长迭代计算,多个步骤计算直接在内存中完成.

(2)从通信的角度讲,如果使用 Hadoop分布式计算框架, 工作和任务之间由于是通过 heartbeat 的方式来进行的通信和传递数据,会导致非常慢的执行速度,正常来说会减缓机器学习的速度.spark通讯效率极高,可以解决这个问题.

 

目前发现的spark训练模型的劣势:

(1)配置繁琐,使用之前要先配置spark集群,scala编译器,java编译器

(2)要按照spark指定的数据格式进行训练,一般机器学习可以直接读取数据例如csv,指定特征列后进行特征处理训练,spark的训练格式要把数据里面类型,标签提前整理好

sparl.ml的功能示意图

MLlib目前支持4种常见的机器学习问题: 分类、回归、聚类和协同过滤,MLlib在Spark整个生态系统中的位置如图下图所示。这里还展示除了内置的模型之外的lightgbm的模型训练

在测试过程中,原生自带的spark.ml模型包可以正常训练

 

 

实现环境

Liunx平台 GLIBC_版本 2.23以上

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值