Advertisement

MapReduce技术用于构建线性回归模型

阅读量:

1. 软件版本:

在IDEA环境中进行源码编译时使用CDH573(等价于Hadoop 2x系列),集群运行于原生的 Hadoop 2x 系列环境;其中 JDK 配置为 Java 虚拟机版本 1x8(通常指 Java 8),IntelliJ IDEA 设置为版本 14;源代码可以从 https://github.com/fansy1990/linear_regression 获取

2. 实现思路:

本博客开发了一种一元一次线性方程模型属于最基础的线性回归算法类型该模型采用自Courea机器学习框架中的大数据线性回归算法来更新参数(即基于随机梯度下降的方法)这种技术虽然较为基础但在实际应用中具有重要的参考价值若对随机梯度下降算法或批量梯度下降方法不熟悉则建议先查阅相关资料

2.1 Shuffle Data(打乱数据):

若采用随机梯度下降算法,则必须保证原始数据具有足够的随机性特性,在此方案中第一步就是对原始数据进行洗牌处理以实现这一点。具体而言,在Mapper阶段会生成并设置每个记录的键为随机值的同时将当前记录赋值给对应的键值对,在Reducer阶段则会遍历所有键对应的值并直接输出完整的数据对其中包含具体的数值信息以及NullWritable类型的占位字段以完成整个算法流程的关键步骤

在Map阶段随机赋值时,默认引入了一个额外的参数ran

全部评论 (0)

还没有任何评论哟~