基于spark实现的CRF模型的使用与源码分析

本文详细介绍了基于Spark实现的CRF模型,利用Spark的LBFGS算法提高训练速度。源码采用Scala编写,包含CRF.scala、CRFModel.scala和CRFWithLBFGS.scala等关键文件。训练数据可从hdfs读取,以词、特征、结果格式存储,用户可自定义模板。模型训练后,可保存以便后续预测,测试数据同样可并行处理,实现在5节点集群上4分钟内完成10W条训练数据,达到约97%准确率。
摘要由CSDN通过智能技术生成

CRF基于spark实现的过程与源码分析


Crf-spark实现时基于spark的LBFGS算法实现,由于在spark的mllib库中实现了LBFGS算法,因此在使用crf训练时调用该算法在spark平台上将会使迭代更加快速。缩短训练时间。

源码地址:https://github.com/lihait/CRF-Spark

源码是scala语言写的,将源码下载后使用sbt工具打包成jar文件在项目中导入即可使用crf-spark中方法。

src目录下有main和test两个文件夹,其中test中是作者用来测试的代码。

Main目录下是主要的实现scala代码,有七个文件:


最重要的是CRF.scala 、CRFModel.scala、CRFWithLBFGS.scala

CRF.scala:CRF.scala中有用来训练模型的train函数,默认的输入参数是:freq= 1, regParam = 0.5, maxIterations = 1000, tolerance = 1E-3, regularization =L2。

在使用时可对这几个参数进行设置。

CRFModel.scala: CRFModel.s

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值