Spark机器学习库(MLlib)指南
MLlib是Spark里的机器学习库。它的目标是使实用的机器学习算法可扩展并容易使用。它提供如下工具:
1.机器学习算法:常规机器学习算法包括分类、回归、聚类和协同过滤。
2.特征工程:特征提取、特征转换、特征选择以及降维。
3.管道:构造、评估和调整的管道的工具。
4.存储:保存和加载算法、模型及管道
5.实用工具:线性代数,统计,数据处理等。
*注意:主要接口为基于数据框的接口,基于RDD的接口目前处于维护模式。
在Spark2.0中,spark.mllib包中的RDD接口已进入维护模式。现在主要的机器学习接口为spark.ml包中的基于数据框接口。
这一转变包含哪些信息?
1.MLlib将继续在spark.mllib中支持基于RDD的接口。
2.MLlib不会向基于RDD的接口中继续添加新的特征。
3.在Spark2.0以后的版本中,将继续向基于数据框的接口添加新特征以缩小与基于RDD接口的差异。
4.当两种接口之间达到特征相同时(初步估计为Spark2.2),基于RDD的接口将被废弃。
5.基于RDD的接口将在Spark3.0中被移除。
为什么MLlib转向数据框接口?
1.数据框可以提供比RDD更容易掌握使用的接口。数据框的主要优点包括Spark数据源来源、结构化查询语言的数据框查询、各编程语言之间统一的接口。
2.基于数据框的MLlib接口为多种机器学习算法与编程语言提供统一的接口。
3.数据框有助于实现机器学习管道,特别是特征转换。管道指南中可查看详细信息。
调用信息
MLlib使用线性代数包Breeze,Breeze使用Netlib-java来优化数值问题。如果运行时本地包不可用,你将看到一个警告提示信息,然后使用纯虚拟机进行处理。
考虑到运行二进制问题时的证书许可问题,我们默认不使用netlib-java的本地代理。安装netlib-java/Breeze来使用系统二进优化,请阅读netlib-java官方文档来获得安装说明。
基于Python语言使用MLlib,需要安装1.4以上版本Nnmpy。
中文指南目录
点击对应章节查看详细
2特征提取、特征变换、特征选择
3 分类和回归
3.1 分类
3.2 回归
4 聚类
6 模型选择和调试
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/13958.html