Spark机器学习 Day1

机器学习概述

今天主要讨论个问题:Spark机器学习的本质是什么,其内部构成到底是什么。
简单来说,机器学习是数据+算法。

数据

在Spark中做机器学习,肯定有数据来源,在Spark的最底层肯定是RDD封装,这个和Spark具体是什么版本没有任何关系,版本发展只不过是提供了更多高层的API而已,例如DataFrame、Dataset等,而之所以有DataFrame、Dataset,一般情况下是为了使用统一的优化引擎(抽象程度越高,优化算法和空间越大)。

RDD有一个弱点,是每一行列的数据不是可知的,使用Catalyst可以看到列的数据,有更大的优化空间。在2.0中,DataFrame作为了mlib的主要API,基于RDD的API有可能在3.0被移除掉。

算法

Spark的机器学习就是Spark平台之上的函数库。函数肯定有一套内部的逻辑。

机器学习从算法角度而言,最原始的其实都是基于Vector和Matrix来进行计算的,也就是说RDD/DataFrame/Dataset等里面的数据从机器学习角度讲都是Vector和Matrix,而借助于RDD/DataFrame/Dataset天然分布式并行计算完成了机器学习的并行化和可扩展性等。

其实这和图计算的思路非常相似,图计算中数据也是存储在RDD中的,但是Spark的图计算提供了Vertices、Edges、Routing Table等对象来解析RDD中的数据,从而变成图计算可用的数据。

小结

整个过程可以用下面这个图来表示。

欲知后事如何,且听下回分解!

DT大数据每天晚上20:00YY频道现场授课频道68917580

Spark机器学习 Day1 机器学习概述的更多相关文章

  1. Spark MLBase分布式机器学习系统入门:以MLlib实现Kmeans聚类算法

    1.什么是MLBaseMLBase是Spark生态圈的一部分,专注于机器学习,包含三个组件:MLlib.MLI.ML Optimizer. ML Optimizer: This layer aims ...

  2. Spark 中的机器学习库及示例

    MLlib 是 Spark 的机器学习库,旨在简化机器学习的工程实践工作,并方便扩展到更大规模.MLlib 由一些通用的学习算法和工具组成,包括分类.回归.聚类.协同过滤.降维等,同时还包括底层的优化 ...

  3. 机器学习五 -- 机器学习的“Hello World”,感知机

    机器学习五 -- 机器学习的“Hello World”,感知机 感知机是二类分类的线性分类模型,是神经网络和支持向量机的基础.其输入为实例的特征向量,输出为实例的类别,取+1和-1二值之一,即二类分类 ...

  4. Spark机器学习· 实时机器学习

    Spark机器学习 1 在线学习 模型随着接收的新消息,不断更新自己:而不是像离线训练一次次重新训练. 2 Spark Streaming 离散化流(DStream) 输入源:Akka actors. ...

  5. 100天搞定机器学习|Day1数据预处理

    数据预处理是机器学习中最基础也最麻烦的一部分内容 在我们把精力扑倒各种算法的推导之前,最应该做的就是把数据预处理先搞定 在之后的每个算法实现和案例练手过程中,这一步都必不可少 同学们也不要嫌麻烦,动起 ...

  6. 使用jupyter搭建golang的交互式界面:类似于ipython;jupyter还可以使用spark或者结合机器学习

    Jupyter Notebook The Jupyter notebook is a web-based notebook environment for interactive computing. ...

  7. Coursera 机器学习课程 机器学习基础:案例研究 证书

    完成了课程1  机器学习基础:案例研究 贴个证书,继续努力完成后续的课程:

  8. coursera机器学习笔记-机器学习概论,梯度下降法

    #对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...

  9. Spark集群模式概述

    作者:foreyou出处:http://www.foreyou.net/2015/06/22/spark-cluster-mode-overview/声明:本文采用以下协议进行授权: 署名-非商用|C ...

随机推荐

  1. 实验-hadoop新增节点

    关于hadoop新增节点网上的说法都有些差别,自己来实践一把 1.建立一个namenode一个datanode的集群 master:192.168.126.130 slave1:192.168.126 ...

  2. ASP.NET MVC and jqGrid 学习笔记 3-如何从数据库获得数据

    实际应用中,大部分都是从数据库里获得数据,所以先建立一个数据库,Database first 或者Code first都可以,这里用Code first. 一.Model public class M ...

  3. Http Statis 500 -错误笔记

    HTTP Status 500 - type Exception report message description The server encountered an internal error ...

  4. jboss之mod_cluster集群

    本篇针对的mode_cluster版本是mod_cluster-1.2.6.Final-linux2-x64.tar.gz / mod_cluster-1.2.6.Final-windows-amd6 ...

  5. LeetCode 242

    Valid Anagram Given two strings s and t, write a function to determine if t is an anagram of s. For ...

  6. 初探html5---Video + DOM(视频播放)

    1:HTML5 开发环境下  lang="en" 2: <video width="320" height="240" control ...

  7. AES加密和Base64混合加密

    /// <summary> /// AES加密方法(AES加密和Base64混合加密) /// </summary> /// <param name="toEn ...

  8. asp.net自定义控件

    回发星级控件 using System; using System.ComponentModel; using System.Web.UI; using System.Web.UI.WebContro ...

  9. fuse挂载hdfs目录到linux本地

    1,安装fuse yum -y install hadoop-hdfs-fuse 2.修改环境变量 vi /etc/profile 增加如下配置: JAVA_HOME=/usr/jdk64/jdk1. ...

  10. 交叉编译lsof for android

    Android 自带的那个 lsof 实际上是 toolbox 里的,功能十分单一,除了显示出所有进程的所有打开的文件外就什么都不能做,连说明也没有 :-( 于是为了 htop 用着爽一点,还是自己编 ...