Apache Spark机器学习.1.4 MLlib
1.4 MLlib
MLlib是一个可扩展的Spark机器学习库,包括很多常用的机器学习算法。MLlib内置的算法如下:
以向量和矩阵形式处理数据
基本的统计计算,例如:汇总统计和相关性、简单随机数生成、分层抽样、执行简单的假设检验
分类和回归建模
协同过滤
聚类
降维
特征提取与转换
频繁模式挖掘
开发优化
PMML模型导出
Spark MLlib还处在活跃开发阶段,预计每次新版发布都会有新的算法加入其中。
MLlib符合Apache Spark的计算哲学,简单易用,性能卓越。
MLlib使用依赖于netlib-java和jblas的线性代数包Breeze。netlib-java和jblas依赖于本地Fortran程序。如果节点没有安装gfortran运行库,用户需要自行安装。要是没有自动检测到库,MLlib会报链接错误。
关于MLib用例和详细的使用信息,请访问:http://researcher.watson.ibm.com/researcher/files/us-ytian/systemML.pdf。
其他机器学习库
正如前面讨论的,MLlib已经实现了常用的回归和分类算法。但这些基本的算法不足以支持复杂的机器学习。
如果我们等待Spark团队将所有需要的机器学习算法加入库中,则需要很长时间。正因为如此,很多第三方团队向Spark贡献了机器学习库。
IBM已经向Apache Spark贡献了机器学习库SystemML。
除了MLlib提供的功能外,SystemML提供了更丰富的机器学习算法,如缺失数据填补、SVM、GLM、ARIMA、非线性优化、图建模及矩阵分解等算法。
SystemML由IBM Almaden研究组开发,是一个分布式机器学习引擎,可以扩展到任意大的数据集,它的优势有:
整合了分散的机器学习环境
给出了Spark核心生态完整的DML集
允许数据科学家集中精力关注算法问题,而不是具体实现
提升了数据科学团队的时间价值
建立了一个事实上可重用的机器学习程序标准
SystemML参考了R 语言语法和语义,并提供通过其自己的语言编写新算法的能力。
Spark通过SparkR与R语言进行了较好的集成,用户需要时可以使用R语言众多的机器学习算法。正如后面我们要讨论的,SparkR notebook使得这些操作非常容易。
相关文章
- hadoop java文件_使用java api操作Hadoop文件
- java model监听_Java BpmnModel.getFlowElement方法代码示例
- Unchecked assignment:'java.util.Map' to 'java.util.Map'
- 高滤波器opencv(Python)
- java web状态跟踪_Java Web 会话跟踪(四)
- python Flask快速入门
- fork() Java_java中的forkjoin框架的使用
- linux java php_Linux下配置php-java-bridge
- fckeditor for java_FCKeditor For Java/Jsp 程序代码
- python executemany update_python – mycursor.executemany UPDATE无法按预期工作
- python3_python编程常用编译器快捷键_Pycharm or Spyder
- PHP图片处理库Grafika详细教程(2):图像特效处理模块
- PHP图片处理库Grafika详细教程(1):图像基本处理
- 最全面的2015年全球程序员研究报告
- 如何在React中操作DOM元素?
- 一份前端开发人员的架构样式指南,请查收!
- 高性能Nginx HTTPS调优!为HTTPS提速30%
- GitHub发布年度报告:TypeScript成第四大语言
- 零售大数据分析应用的四个阶段
- 大幕已拉开,2018年人工智能的八个发展趋势看这里