Spark MLlib系列(一):入门介绍

转载 2016年05月30日 14:19:46
前言

最新的情况是国内BAT已经都上了spark,而且spark在hadoop上的应用,大有为大象插上翅膀的效果。个人估计在未来两到三年,spark大有代替hadoop的mapreduce的趋势。应该说spark的在使用上面的经济成本,性能优势,一站式解决能力,一定会使其大放异彩。
因为个人对spark很感兴趣,加上项目中需要使用它解决一些机器学习的问题,在网上搜集资料时发现,spark machine learning这块的资料确实太缺少了,所以决定写一spark machine learning的一系列博客(只涉及机器学习部分)。
目前考虑是,这个系列,先讲一些入门的知识,然后是一些真正的实战应用,可能涉及到推荐,聚类,分类等问题,理论涉及不会太多,分享一些接地气的干货,让大家能够真正感受到spark machine learning的魅力。

为什么使用MLlib
    
     MLlib 构建在apache spark之上,一个专门针对大量数据处理的通用的、快速的引擎
  • Speed.Spark has an advanced DAG execution engine that supports cyclic data flow and in-memory computing. Run programs up to 100x faster than Hadoop MapReduce in memory, or 10x faster on disk.
  • Ease of Use .Write applications quickly in Java, Scala or Python.
  • Generality.Combine SQL, streaming, and complex analytics.
  • Runs Everywhere.Spark runs on Hadoop, Mesos, standalone, or in the cloud. It can access diverse data sources including HDFS, Cassandra, HBase, S3.

Logistic regression in Hadoop and Spark

概述

MLlib 是spark的可以扩展的机器学习库,由以下部分组成:通用的学习算法和工具类,包括分类,回归,聚类,协同过滤,降维,当然也包括调优的部分


MLlib当前在非常活跃的开发情况下,所以那些被标记成 Experimental/DeveloperApi 在未来的发布种可能会被修改

依赖

MLlib使用了线性代数包 Breeze, 它依赖于netlib-javajblasnetlib-java 和 jblas 需要依赖native Fortran routines。所以你需要安装gfortran runtime library (安装方法在这个链接中),如果你的集群的节点中没有安装native Fortran routines。MLlib 会抛出一个link error,如果没有安装native Fortran routines。

如果你需要使用spark的python开发,你需要 NumPy version 1.4或以上版本.

当前最近版本1.2

个人认为当前1.2版本的最大的改进应该是发布了称为spark.ml的机器学习工具包,支持了pipeline的学习模式,即多个算法可以用不同参数以流水线的形式运行。在工业界的机器学习应用部署过程中,pipeline的工作模式是很常见的。新的ML工具包使用Spark的SchemaRDD来表示机器学习的数据集合,提供了Spark SQL直接访问的接口。此外,在机器学习的算法方面,增加了两个基于树的方法,随机森林和梯度增强树。还有貌似性能上有优化,看过一篇DataBricks的ppt,据说1.2版本的算法在性能上比1.1版本平均快了3倍


参考资料
 Machine Learning Library (MLlib) Programming Guide http://spark.apache.org/docs/latest/mllib-guide.html

相关文章推荐

Spark MLlib系列(一):入门介绍

文章转自:http://blog.csdn.net/shifenglov/article/details/43762705 前言 最新的情况是国内BAT已经都上了spark...

Spark MLlib系列(一):入门介绍

原文地址 前言 最新的情况是国内BAT已经都上了spark,而且spark在hadoop上的应用,大有为大象插上翅膀的效果。个人估计在未来两到三年,spark大有代替hadoop的ma...

Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介

1、机器学习概念 1.1 机器学习的定义 在维基百科上对机器学习提出以下几种定义: l“机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”。...

Spark入门实战系列--8.Spark MLlib(下)

1、MLlib实例 1.1 聚类实例 1.1.1 算法说明 聚类(Cluster analysis)有时也被翻译为簇类,其核心任务是:将一组目标object划分为若干个簇,每个簇之间的objec...

Spark MLlib系列(二):基于协同过滤的电影推荐系统

随着大数据时代的到来,数据当中挖取金子的工作越来越有吸引力。利用Spark在内存迭代运算、机器学习领域强悍性能的优势,使用spark处理数据挖掘问题就显得很有实际价值。这篇文章给大家分享一个spark...

Spark机器学习MLlib系列1(for python)--数据类型,向量,分布式矩阵,API

Spark机器学习MLlib系列1(for python)--数据类型,分布式矩阵,API关键词:Local vector,Labeled point,Local matrix,Distributed...

Spark MLlib 入门学习笔记 - 逻辑回归

关于逻辑回归的算法原理 Spark官方文档里有说明,另外网上也有中文翻译文档可参考。本笔记是学习MLlib的辑回归API使用时一道练习题记录,通过这道练习,可以掌握基本使用。MLLib提供了两种算...
  • hjh00
  • hjh00
  • 2017年05月29日 11:47
  • 293

Spark MLlib 入门学习笔记 - 编程环境配置

在windows下配置Spark MLlib的编程环境。
  • hjh00
  • hjh00
  • 2017年05月18日 18:05
  • 755

Spark MLlib 入门学习笔记 - RDD基础

RDD基础
  • hjh00
  • hjh00
  • 2017年05月20日 21:36
  • 275

spark mllib 入门学习(一)--聚类算法

本帖最后由 hero1122 于 2017-7-17 16:32 编辑 1.概述 首先,笔者要先申明,我也是初学机器学习领域的内容,虽然我是从事大数据平台开发的工作,但是工作中确实没有...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spark MLlib系列(一):入门介绍
举报原因:
原因补充:

(最多只允许输入30个字)