5.2.1 Spark MLBase分布式机器学习系统

更新于 2026年10月10日 版权声明
5.2.1 Spark MLBase分布式机器学习系统

图示

图5⁃8 MLBase组件

MLBase(Machine Learnig Base)是Spark生态圈的一部分,专注于机器学习,如图5⁃8所示。MLBase包含三个组件:MLlib、MLI、ML Optimizer。MLBase让机器学习的门槛更低,让一些可能并不了解机器学习的用户可以容易地使用MLBase这个工具来处理自己的数据。

①MLlib(Machine Learnig lib)是Spark常见的机器学习算法和实用程序实现库,包括分类、回归、聚类、协同过滤、降维以及底层优化,同时,MLlib是一个可扩充的算法库。

②MLI(Machine Learnig Interface)是一个进行特征抽取和高级ML编程抽象的算法实现的应用程序接口(Application Program Interface,API)或平台。

③ML Optimizer(Machine Learnig Optimizer)会选择它认为最适合的已经在内部实现的机器学习算法和相关参数,来处理用户输入的数据,并将得到的模型或分析结果返回给用户。

大部分的机器学习算法都包含训练以及预测两个部分,训练出模型,对未知样本进行预测。Spark中的机器学习包也是如此。

Spark将机器学习算法包分成了两个模块:

①训练模块:通过训练样本输出模型参数。

②预测模块:利用模型参数初始化,预测测试样本,输出预测值。

MLBase提供了函数式编程语言Scala,利用MLlib可以很方便地实现机器学习的常用算法。

比如说,要做分类,只需要写如下scala代码:(https://www.daowen.com)

1 var X = load("some_data", 2 to 10)

//X是需要分类的数据集

2 var y = load("some_data", 1)

//y是从这个数据集里取的一个分类标签

3 var (fn⁃model, summary)= doClassify(X, y)

//doClassify()进行分类

这样的处理有两个主要好处:

①每一步数据处理很清楚,可以很容易地可视化出来。

②对用户来说,MLlib算法处理是透明的,不用关心和考虑用什么分类方法以及参数调成多少等问题。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)