美文网首页我爱编程
Spark机器学习库(MLlib)指南【转】

Spark机器学习库(MLlib)指南【转】

作者: 逆视角 | 来源:发表于2018-07-26 14:28 被阅读0次

    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。
    转自:https://blog.csdn.net/liulingyuan6/article/details/53582300

    相关文章

      网友评论

        本文标题:Spark机器学习库(MLlib)指南【转】

        本文链接:https://www.haomeiwen.com/subject/hwlbmftx.html