sparkmllib介绍

将者,智、信、仁、勇、严也。 将者,智、信、仁、勇、严也。     2022-09-07     720

关键词:

Spark MLlib介绍

Spark之所以在机器学习方面具有得天独厚的优势,有以下几点原因:

(1)机器学习算法一般都有很多个步骤迭代计算的过程,机器学习的计算需要在多次迭代后获得足够小的误差或者足够收敛才会停止,迭代时如果使用Hadoop的MapReduce计算框架,每次计算都要读/写磁盘以及任务的启动等工作,这回导致非常大的I/O和CPU消耗。而Spark基于内存的计算模型天生就擅长迭代计算,多个步骤计算直接在内存中完成,只有在必要时才会操作磁盘和网络,所以说Spark正是机器学习的理想的平台。

(2)从通信的角度讲,如果使用Hadoop的MapReduce计算框架,JobTracker和TaskTracker之间由于是通过heartbeat的方式来进行的通信和传递数据,会导致非常慢的执行速度,而Spark具有出色而高效的Akka和Netty通信系统,通信效率极高。

MLlib(Machine Learnig lib) 是Spark对常用的机器学习算法的实现库,同时包括相关的测试和数据生成器。Spark的设计初衷就是为了支持一些迭代的Job, 这正好符合很多机器学习算法的特点。在Spark官方首页中展示了Logistic Regression算法在Spark和Hadoop中运行的性能比较,如图下图所示。

 

可以看出在Logistic Regression的运算场景下,Spark比Hadoop快了100倍以上!

MLlib目前支持4种常见的机器学习问题: 分类、回归、聚类和协同过滤,MLlib在Spark整个生态系统中的位置如图下图所示。

 

MLlib基于RDD,天生就可以与Spark SQL、GraphX、Spark Streaming无缝集成,以RDD为基石,4个子框架可联手构建大数据计算中心!

MLlib是MLBase一部分,其中MLBase分为四部分:MLlib、MLI、ML Optimizer和MLRuntime。

l  ML Optimizer会选择它认为最适合的已经在内部实现好了的机器学习算法和相关参数,来处理用户输入的数据,并返回模型或别的帮助分析的结果;

l  MLI 是一个进行特征抽取和高级ML编程抽象的算法实现的API或平台;

l  MLlib是Spark实现一些常见的机器学习算法和实用程序,包括分类、回归、聚类、协同过滤、降维以及底层优化,该算法可以进行可扩充; MLRuntime 基于Spark计算框架,将Spark的分布式计算应用到机器学习领域。

 

3.2 MLlib的算法库分析

下图是MLlib算法库的核心内容。

 

 

sparkmllib介绍

SparkMllib介绍MLLIB是Spark的机器学习库。提供了利用Spark构建大规模和易用性的机器学习平台,组件:五大特性:1-ML算法,包含-机器学习分类算法、聚类算法、属性降维算法、协同过滤算法2-特征化:特征抽取、... 查看详情

sparkmllib介绍

SparkMllib介绍MLLIB是Spark的机器学习库。提供了利用Spark构建大规模和易用性的机器学习平台,组件:五大特性:1-ML算法,包含-机器学习分类算法、聚类算法、属性降维算法、协同过滤算法2-特征化:特征抽取、... 查看详情

spark学习10_1sparkmllib入门与相关资料索引(代码片段)

...文指南关于spark机器学习的知乎专栏Spark入门实战系列--8.SparkMLlib(上)--机器学习及SparkMLlib简介基本Kmeans算法介绍及其实现sparkMLlib概念1:相关系数(PPMCCorPCCorPearson‘sr皮尔森相关系数)andSpearman‘scorrelation(史匹曼等级相关系... 查看详情

sparkmllib---linearregression(线性回归)logisticregression(逻辑回归)(代码片段)

1、随机梯度下降首先介绍一下随机梯度下降算法:1.1、代码一:packagemllibimportorg.apache.log4j.Level,Loggerimportorg.apache.spark.SparkContext,SparkConfimportscala.collection.mutable.HashMap/***随机梯度下降算法*Createdby汪本成 查看详情

基于sparkmllib平台的协同过滤算法---电影推荐系统

协同过滤算法概述 基于模型的协同过滤应用---电影推荐实时推荐架构分析          一、协同过滤算法概述      本人对算法的研究,目前还不是很深入,这里简单的介... 查看详情

用spark学习fptree算法和prefixspan算法

...用这两个算法。由于scikit-learn中没有关联算法的类库,而SparkMLlib有,本文的使用以SparkMLlib作为使用环境。1. SparkMLlib关联算法概述    在SparkMLlib中,也只实现了两种关联 查看详情

spark入门实战系列--8.sparkmllib(上)--机器学习及sparkmllib简介

 Spark入门实战系列--8.SparkMLlib(上)--机器学习及SparkMLlib简介 1、机器学习概念1.1 机器学习的定义在维基百科上对机器学习提出以下几种定义:l“机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,... 查看详情

sparkmllib(下)--机器学习库sparkmllib实战

 1、MLlib实例1.1 聚类实例1.1.1 算法说明聚类(Clusteranalysis)有时也被翻译为簇类,其核心任务是:将一组目标object划分为若干个簇,每个簇之间的object尽可能相似,簇与簇之间的object尽可能相异。聚类算法是机器学习... 查看详情

sparksparkshufflesparksql及sparkmllib

查看详情

学习笔记spark——sparkmllib应用——sparkmllib应用(代码片段)

三、SparkMLlib应用3.1、SparkML线性模型数据准备基于SparkML的线性模型需要DataFrame类型的模型数据,DataFrame需要包含:一列标签列,一列由多个特征合并得到的特征列训练模型模型应用模型评估任务1:某专门面向年轻人制... 查看详情

学习笔记spark——sparkmllib应用——sparkmllib应用(代码片段)

三、SparkMLlib应用3.1、SparkML线性模型数据准备基于SparkML的线性模型需要DataFrame类型的模型数据,DataFrame需要包含:一列标签列,一列由多个特征合并得到的特征列训练模型模型应用模型评估任务1:某专门面向年轻人制... 查看详情

sparkmllib---linearregression(线性回归)logisticregression(逻辑回归)(代码片段)

1、随机梯度下降首先介绍一下随机梯度下降算法:1.1、代码一:packagemllibimportorg.apache.log4j.Level,Loggerimportorg.apache.spark.SparkContext,SparkConfimportscala.collection.mutable.HashMap/***随机梯度下降算法*Createdby汪本成on2016/8/7.*/objectSGD//屏... 查看详情

学习笔记spark——sparkmllib应用——机器学习简介sparkmllib简介

一、机器学习简介1.1、机器学习概念机器学习就是让机器能像人一样有学习、理解、认识的能力。机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。机... 查看详情

学习笔记spark——sparkmllib应用——机器学习简介sparkmllib简介

一、机器学习简介1.1、机器学习概念机器学习就是让机器能像人一样有学习、理解、认识的能力。机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。机... 查看详情

使用sparkmllib进行情感分析

使用SparkMLlib进行情感分析      使用SparkMLlib进行情感分析一、实验说明在当今这个互联网时代,人们对于各种事情的舆论观点都散布在各种社交网络平台或新闻提要中。我们可以在移动设备或是个人PC上轻... 查看详情

sparkmllib保序回归

"C:ProgramFilesJavajdk1.8.0_181injava""-javaagent:D:SoftwareIntelliJIDEA2017.2.2libidea_rt.jar=64070:D:SoftwareIntelliJIDEA2017.2.2in"-Dfile.encoding=UTF-8-classpath"C:ProgramFilesJava 查看详情

大数据sparkmllib机器学习(代码片段)

目录1什么是SparkMLlib?2支持的数据类型2.1本地向量集2.1.1、密集型数据集2.1.2稀疏型数据集2.2向量标签2.3本地矩阵2.4分布式矩阵2.4.1行矩阵2.4.2行索引矩阵2.4.3坐标矩阵2.4.4分块矩阵3RDD、DataSet、Dataframe区别及转化1什么是SparkMLlib... 查看详情

sparkmllib机器学习(代码片段)

目录 本章导读1. 机器学习概率2. SparkMLlib总体设计3. 数据类型3.1 局部向量3.2 标记点3.3 局部矩阵3.4 分布式矩阵4. 基础统计4.1 摘要统计4.2 相关统计1. 皮尔森相关系数2. 斯皮尔森秩相关系数4.3 分层抽样4.4 假设校验4.5 随... 查看详情