大数据课程K12——Spark的MLlib概述

这篇具有很好参考价值的文章主要介绍了大数据课程K12——Spark的MLlib概述。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章作者邮箱:yugongshiye@sina.cn              地址:广东惠州

 ▲ 本章节目的

⚪ 了解Spark的MLlib概念;

⚪ 掌握Spark的MLlib基本数据模型;

⚪ 掌握Spark的MLlib统计量基础;

一、Spark MLlib介绍

1. 概述

MLlib是Apache Spark的可迭代机器学习库。

2. 易于使用

适用于Java、Scala、Python和R语言。

MLlib适用于Spark的API,并与Python中的NumPy(从Spark 0.9开始)和R库(从Spark 1.5开始)互操作。 您可以使用任何Hadoop数据源(例如HDFS,HBase或本地文件),从而轻松插入Hadoop工作流程。

案例:

// 通过Python调用MLib

data = spark.read.format("libsvm").load("hdfs://...")

model = KMeans(k=10).fit(data)

3. 执行高效

高质量的算法,比 MapReduce 快100倍。

Spark擅长迭代计算,使MLlib能够快速运行。 同时,我们关注算法性能:MLlib包含利用迭代的高质量算法,并且可以产生比MapReduce上有时使用的一次通过近似更好的结果。Hadoop 和 Spark的数据模型,如下图所示。

大数据课程K12——Spark的MLlib概述,大数据,spark,mllib

 4. 易于部署

Spark运行在Hadoop,Apache Mesos,Kubernetes,standalone或云端,针对不同的数据源。

您可以使用其独立群集模式,EC2,Hadoop YARN,Mesos或Kubernetes运行Spark。 访问HDFS,Apache Cassandra,Apache HBase,Apache Hive和数百个其他数据源中的数据。

5. 算法

MLlib包含许多算法和实用程序。

ML算法包括:

1. 分类:逻辑回归,朴素贝叶斯,......。

2. 回归:广义线性回归,生存回归,......。

3. 决策树,随机森林和梯度提升树。

4. 建议:交替最小二乘法(ALS)。

5. 聚类:K均值,高斯混合(GMM),......。

6. 主题建模:潜在Dirichlet分配(LDA)。

7. 频繁项目集,关联规则和顺序模式挖掘。

ML工作流程工具包括:

1. 特征转换:标准化,规范化,散列,......。

2. ML Pipeline construction。

3. 模型评估和超级参数调整。

4. ML持久性:保存和加载模型和Pipelines。

其他工具包括:

分布式线性代数:SVD,PCA,......。

统计:汇总统计,假设检验,......。

6. 总结

MLlib是一个构建在Spark上的、专门针对大数据处理的并发式高速机器学习库,其特点是采用较为先进的迭代式、内存存储的分析计算,使得数据的计算处理速度大大高于普通的数据处理引擎。

MLlib机器学习库还在不停地更新中,Apache的相关研究人员仍在不停地为其中添加更多的机器学习算法。目前MLlib中已经有通用的学习算法和工具类,包括统计、分类、回归、聚类、降维等。

MLlib采用Scala语言编写,Scala语言是运行在JVM上的一种函数式编程语言,特点就是可移植性强,“一次编写,到处运行”是其最重要的特点。借助于RDD数据统一输入格式,让用户可以在不同的IDE上编写数据处理程序,通过本地化测试后可以在略微修改运行参数后直接在集群上运行。对结果的获取更为可视化和直观,不会因为运行系统底层的不同而造成结果的差异与改变。

二、MLlib基本数据模型

1. 概述

RDD是MLlib专用的数据格式,它参考了Scala函数式编程思想,并大胆引入统计分析概念,将存储数据转化成向量和矩阵的形式进行存储和计算,这样将数据定量化表示,能更准确地整理和分析结果。

多种数据类型

MLlib先天就支持较多的数据格式,从最基本的Spark数据集RDD到部署在集群中的向量和矩阵。同样,MLlib还支持部署在本地计算机中的本地化格式。

下表给出了MLlib支持的数据类型。

类型名称

释义

Local vector

本地向量集。主要向Spark提供一组可进行操作的数据集合

Labeled point

向量标签。让用户能够分类不同的数据集合

Local matrix

本地矩阵。将数据结合以矩阵形式存储在本地计算机中

Distributed matrix

分布式矩阵。将矩阵集合以矩阵形式存储在分布式计算机中

以上就是MLlib支持的数据类型,其中分布式矩阵根据不同的作用和应用场景,又分为四种不同的类型。

2. 本地向量

MLlib使用的本地化存储类型是向量,这里的向量主要由两类构成:稀疏型数据集(spares)和密集型数据集(dense)。例如一个向量数据(9,5,2,7),按密集型数据格式可以被设定成(9,5,2,7)进行存储,数据集被作为一个集合的形式整体存储。而对于稀疏型数据,可以按向量的大小存储为(4, Array(0,1,2,3), Array(9,5,2,7))。

案例一:

import org.apache.spark.{SparkConf,SparkContext}

def main(args:Array[String]):Unit={

//--建立密集型向量

//--dense可以将其理解为MLlib专用的一种集合形式,它与Array类似

val vd=Vectors.dense(2,0,6)//

println(vd)

//①参:size。spare方法是将给定的数据Array数据(9,5,2,7)分解成指定的size个部分进行处理,本例中是7个

//③参:输入数据。本例中是Array(9,5,2,7)

//②参:输入数据对应的下标,要求递增,并且最大值要小于等于size

val vs=Vectors.sparse(7,Array(0,1,3,6),Array(9,5,2,7))

println(vs(6))

}文章来源地址https://www.toymoban.com/news/detail-679003.html

}

到了这里,关于大数据课程K12——Spark的MLlib概述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spark MLlib ----- ALS算法

    在谈ALS(Alternating Least Squares)之前首先来谈谈LS,即最小二乘法。LS算法是ALS的基础,是一种数优化技术,也是一种常用的机器学习算法,他通过最小化误差平方和寻找数据的最佳匹配,利用最小二乘法寻找最优的未知数据,保证求的数据与已知的数据误差最小。LS也被用于拟

    2024年02月02日
    浏览(42)
  • Spark编程实验六:Spark机器学习库MLlib编程

    目录 一、目的与要求 二、实验内容 三、实验步骤 1、数据导入 2、进行主成分分析(PCA) 3、训练分类模型并预测居民收入  4、超参数调优 四、结果分析与实验体会 1、通过实验掌握基本的MLLib编程方法; 2、掌握用MLLib解决一些常见的数据分析问题,包括数据导入、成分分析

    2024年02月20日
    浏览(42)
  • Spark MLlib与深度学习:构建新型计算机视觉应用

    作者:禅与计算机程序设计艺术 随着大数据、云计算和移动互联网的普及,人工智能(AI)正在成为继“机器学习”之后又一个重要方向。作为一个专门研究人类智能的科学领域,人工智能主要包括机器学习、深度学习、模式识别等多个分支领域。而近年来随着数据处理和存

    2024年02月12日
    浏览(34)
  • Java语言在Spark3.2.4集群中使用Spark MLlib库完成XGboost算法

    XGBoost是一种基于决策树的集成学习算法,它在处理结构化数据方面表现优异。相比其他算法,XGBoost能够处理大量特征和样本,并且支持通过正则化控制模型的复杂度。XGBoost也可以自动进行特征选择并对缺失值进行处理。 1、导入相关库 2、加载数据 3、准备特征向量 4、划分

    2023年04月12日
    浏览(34)
  • Spark MLlib机器学习库(一)决策树和随机森林案例详解

    数据集的下载地址: https://www.kaggle.com/datasets/uciml/forest-cover-type-dataset 该数据集记录了美国科罗拉多州不同地块的森林植被类型,每个样本包含了描述每块土地的若干特征,包括海拔、坡度、到水源的距离、遮阳情况和土壤类型,并且给出了地块对应的已知森林植被类型。 很

    2024年02月12日
    浏览(49)
  • Spark-机器学习(1)什么是机器学习与MLlib算法库的认识

    从这一系列开始,我会带着大家一起了解我们的机器学习,了解我们spark机器学习中的MLIib算法库,知道它大概的模型,熟悉并认识它。同时,本篇文章为个人spark免费专栏的系列文章,有兴趣的可以收藏关注一下,谢谢。同时,希望我的文章能帮助到每一个正在学习的你们。

    2024年04月16日
    浏览(34)
  • Java语言在Spark3.2.4集群中使用Spark MLlib库完成朴素贝叶斯分类器

    贝叶斯定理是关于随机事件A和B的条件概率,生活中,我们可能很容易知道P(A|B),但是我需要求解P(B|A),学习了贝叶斯定理,就可以解决这类问题,计算公式如下:     P(A)是A的先验概率 P(B)是B的先验概率 P(A|B)是A的后验概率(已经知道B发生过了) P(B|A)是

    2023年04月12日
    浏览(35)
  • Spark MLlib快速入门(1)逻辑回归、Kmeans、决策树、Pipeline、交叉验证

    除了scikit-learn外,在spark中也提供了机器学习库,即Spark MLlib。 在Spark MLlib机器学习库提供两套算法实现的API:基于RDD API和基于 DataFrame API 。今天,主要介绍下 DataFrame API 的使用,不涉及算法的原理。 主要提供的算法如下: 分类 逻辑回归、贝叶斯支持向量机 聚类 K-均值 推荐

    2024年02月16日
    浏览(42)
  • 【IDEA + Spark 3.4.1 + sbt 1.9.3 + Spark MLlib 构建鸢尾花决策树分类预测模型】

    通过IDEA + Spark 3.4.1 + sbt 1.9.3 + Spark MLlib 构建鸢尾花决策树分类预测模型,这是一个分类模型案例,通过该案例,可以快速了解Spark MLlib分类预测模型的使用方法。

    2024年02月14日
    浏览(39)
  • 【基于IDEA + Spark 3.4.1 + sbt 1.9.3 + Spark MLlib 构建逻辑回归鸢尾花分类预测模型】

    基于IDEA + Spark 3.4.1 + sbt 1.9.3 + Spark MLlib 构建逻辑回归鸢尾花分类预测模型,这是一个分类模型案例,通过该案例,可以快速了解Spark MLlib分类预测模型的使用方法。 运行结果如下:

    2024年02月14日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包