Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Spark学习之基于MLlib的机器学习

Spark学习之基于MLlib的机器学习

作者头像
王小雷
发布于 2018-01-02 06:38:44
发布于 2018-01-02 06:38:44
1.6K00
代码可运行
举报
文章被收录于专栏:王小雷王小雷
运行总次数:0
代码可运行

Spark学习之基于MLlib的机器学习

1. 机器学习算法尝试根据训练数据(training data)使得表示算法行为的数学目标最大化,并以此来进行预测或作出决定。

2. MLlib完成文本分类任务步骤:

(1)首先用字符串RDD来表示你的消息

(2)运行MLlib中的一个特征提取(feature extraction)算法来把文本数据转换为数值特征(适合机器学习算法处理);该操作会返回一个向量RDD。

(3)对向量RDD调用分类算法(比如逻辑回归);这步会返回一个模型对象,可以使用该对象对新的数据点进行分类。

(4)使用MLlib的评估函数在测试数据集上评估模型。

3. MLlib包含的主要数据类型:

  • Vector
  • LabeledPoint
  • Rating
  • 各种Model类

4. 操作向量

  • 向量有两种:稠密向量和稀疏向量
    • 稠密向量:把所有维度的值存放在一个浮点数数组中
    • 稀疏向量:只把各维度的非零值存储下来
    • 优先考虑稀疏向量,也是关键的优化手段
  • 创建向量的方式在各语言上有一些细微差别

5. 算法

  • 特征提取
    • TF-IDF(词频——逆文档频率)使用用来从文本文档(例如网页)中生成特向量的简单方法。
    • MLlib用两个算法来计算TF-IDF:Hashing和IDF,都在mllib.feature包内。
    • 缩放,大多数要考虑特征向量中各元素的幅值,并且在特征缩放调整为平等对待时表现最好。
    • 正规化,在准备输入数据时,把向量正规化为长度1。使用Normalizer类可以实现。
    • Word2Vec是一个基于神经网络的文本特征算法,可以用来将数据传给许多下游算法。
  • 统计
  • 分类和归类
    • 分类与回归是监督学习的两种形式。
    • 监督学习是指算法尝试使用有标签的训练数据根据对象的特征预测结果。
    • 在分类中,预测出的变量是离散的。
    • 在回归中,预测出的变量是连续的。
    • MLlib中包含许多分类与回归算法:如简单的线性算法以及决策树和森林算法。
  • 聚类
    • 聚类算法是一种无监督学习任务,用于将对象分到具有高度相似性的聚类中。
    • 聚类算法主要用于数据探索(查看一个新数据集是什么样子)以及异常检测(识别与任意聚类都相聚较远的点)。
    • MLlib中包含两个聚类中流行的K-means算法,以及一个叫做K-means||的变种,可以提供为并行环境提供更好的初始化策略。
  • 协同过滤与推荐
    • 协同过滤是一种根据用户对各种产品的交互与评分来推荐新产品的推荐系统技术。
    • 交替最小二乘(ALS),会为每个用户和产品都设一个特征向量,这样用户向量和产品向量的点积就接近于他们的得分。
  • 降维
    • 主成分分析(PCA)
      • PCA会把特征映射到低位空间,让数据在低维空间表示的方差最大化,从而忽略一些无用的维度。
      • 要计算这种映射,我们要构建出正规化的相关矩阵,并使用这个矩阵的奇异向量和奇异值。
      • 与最大的一部分奇异值相对应的奇异向量可以用来重建原始数据的主要成分。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//Scala中的PCA

import org.apache.spark.mllib.linalg.Matrix
import org.apache.spark.mllib.linalg.distributed.RowMatrix

val points:RDD[Vector]=//...
val mat:RowMatrix = new RowMatrix(points)
val pc:Matrix = mat.computerPrincipalComponents(2)

//将点投影到低维空间中
val projected = mat.nultiply(pc).rows

//在投影出的二维数据上训练k-means模型
val model = KMeans.train(projected,10)
  • 降维
    • 奇异值分解
      • MLlib也提供底层的奇异值分解(简称SVD)原语。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于Spark的机器学习实践 (九) - 聚类算法
而且,它们都使用聚类中心来为数据建模;然而k-平均聚类倾向于在可比较的空间范围内寻找聚类,期望-最大化技术却允许聚类有不同的形状。
JavaEdge
2019/04/17
1.5K0
基于Spark的机器学习实践 (九) - 聚类算法
基于Spark的机器学习实践 (二) - 初识MLlib
MLlib是Spark的机器学习(ML)库。 其目标是使实用的机器学习可扩展且简单。 从较高的层面来说,它提供了以下工具:
JavaEdge
2019/04/09
3.8K0
基于Spark的机器学习实践 (二) - 初识MLlib
大数据测试学习笔记之基准测试HiBench
简介 HiBench是一套基准测试套件,用于帮助我们评估不同的大数据框架性能指标(包括处理速度、吞吐等)的负载指标,可以评估Hadoop、Spark和流式负载等,具体的工作负载有: Sort WordCount TeraSort Sleep SQL PageRank Nutch indexing Bayes Kmeans NWeight enhanced DFSIO 等等 同样的它还可以用于评估Spark Stream、Flink、Storm和Gearpump。 工作负载 对这些工作负载进行分类记录如下,总
苦叶子
2018/04/09
2.2K0
快速选择合适的机器学习算法
本文主要适用于初学者到中级数据科学家或分析师,他们有兴趣识别和应用机器学习算法来解决他们感兴趣的问题。
小莹莹
2018/07/24
7060
快速选择合适的机器学习算法
SparkMLlib的数据类型讲解
SparkMLlib的数据类型讲解 Mllib支持单机上存储的本地向量和矩阵,也支持由一个或者多个RDD支持的分布式矩阵。本地向量和本地矩阵是简单的数据模型,用作公共接口。由Breeze提供基本的线性代数运算。。在监督学习中使用的训练示例在MLlib中被称为“labeled point” 一 本地向量 本地向量存储于单台机器,其拥有整类型的行,从0开始的索引,和double类型的值。Mllib支持两种类型的本地向量:密集向量(dense)和稀疏向量(sparse)。密集向量只有一个浮点数组组成,而一个稀疏向
Spark学习技巧
2018/01/31
1.6K0
SparkMLlib的数据类型讲解
Spark MLlib知识点学习整理
MLlib的设计原理:把数据以RDD的形式表示,然后在分布式数据集上调用各种算法。MLlib就是RDD上一系列可供调用的函数的集合。
用户3003813
2018/09/06
7890
选择困难症?一文通解如何选择最合适的机器学习算法
大数据文摘作品,转载要求见文末 编译 | 姜范波,寒小阳,钱天培 如果你是一个初学/中等程度的数据科学家/分析师,并且想要将机器学习的算法运用到解决你关心的问题的上,那么这篇文章正是为你写的! 初学者面对各种机器学习算法,一个典型的问题是:我应该使用哪种算法?问题的答案取决于许多因素,包括: 数据的大小,质量和性质。 可接受的计算时间。 任务的紧迫性。 你想用数据做什么。 即使是经验丰富的数据科学家也无法在尝试不同的算法之前,就断定哪种算法会是最好的。在此我们并非倡导一蹴而就的方法,但是我们希望根据一些明确
大数据文摘
2018/05/25
6700
【Spark Mllib】K-均值聚类——电影类型
代码实现中,首先需要引入必要的模块,设置模型参数: K(numClusters)、最大迭代次数(numIteration)和训练次数(numRuns)。然后,对电影的系数向量运行K-均值算法。最后,在用户相关因素的特征向量上训练K-均值模型:
小爷毛毛_卓寿杰
2019/02/13
1.4K0
【Spark Mllib】K-均值聚类——电影类型
你必须要了解的大数据潮流下的机器学习及应用场景
  机器学习是一门人工智能的科学,能通过经验自动改进的计算机算法的研究。       机器学习是一个多学科交叉的领域,会涉及到计算机、信息学、数学、统计学、神经科学等。   机器学习是大数据的核心技术
欢醉
2018/03/28
1.2K0
你必须要了解的大数据潮流下的机器学习及应用场景
Spark机器学习库(MLlib)指南之简介及基础统计
问题向导: (1)Spark机器学习库是什么,目标是什么? (2)MLlib具体提供哪些功能? (3)MLlib为什么要改用基于DataFrame的API? 1.Spark机器学习库(MLlib
用户1410343
2018/03/26
2K0
Spark MLlib
机器学习是用数据或以往的经验,并以此来优化程序的性能指标。 机器学习本质思想:使用现有的数据,训练出一个模型,然后在用这个模型去拟合其他的数据,给未知的数据做出一个预测结果。机器学习是一个求解最优化问题的过程。老师教学生,学生举一反三,考试成绩是学习效果的预测。 分类:人脸识别判断性别 聚类 :发掘相同类型的爱好和兴趣。物以类聚人以群分 回归: 预测分析价格
羊羽shine
2019/08/25
6660
《探索 Apache Spark MLlib 与 Java 结合的卓越之道》
在当今大数据与人工智能蓬勃发展的时代,Apache Spark MLlib 作为强大的机器学习库,与广泛应用的 Java 语言相结合,为数据科学家和开发者们提供了丰富的可能性。那么,Apache Spark MLlib 与 Java 结合的最佳实践究竟是什么呢?本文将深入探讨这一热点话题,引领读者踏上高效应用的探索之旅。
程序员阿伟
2024/12/23
1780
2小时入门Spark之MLlib
最近由于一直在用Spark搞数据挖掘,花了些时间系统学习了一下Spark的MLlib机器学习库,它和sklearn有八九分相似,也是Estimator,Transformer,Pipeline那一套,各种fit,transform接口。sklearn有多好学,MLlib就有多好学,甚至MLlib还要更加简单一些,因为MLlib库中支持的功能相对更少一些,并且MLlib基于DataFrame数据比sklearn基于numpy array会更加直观一些。
lyhue1991
2020/07/20
2.2K0
2小时入门Spark之MLlib
图解大数据 | Spark机器学习(下)—建模与超参调优
教程地址:http://www.showmeai.tech/tutorials/84
ShowMeAI
2022/03/08
1.2K0
图解大数据 | Spark机器学习(下)—建模与超参调优
5 大常用机器学习模型类型总结
本文介绍了 5 大常用机器学习模型类型:集合学习算法,解释型算法,聚类算法,降维算法,相似性算法,并简要介绍了每种类型中最广泛使用的算法模型。我们希望本文可以做到以下三点: 1、应用性。 涉及到应用问题时,知识的普适性显然非常重要。所以我们希望通过给出模型的一般类别,让你更好地了解这些模型应当如何应用。 2、相关性。 本文并不包括所有的机器学习模型,比如Naïve Bayes(朴素贝叶斯)和SVM这种传统算法,在本文中将会被更好的算法所取代。 3、可消化性。对于数学基础较薄弱的读者而言,过多地解释算法会让
张俊红
2022/03/29
3K0
Spark MLlib中KMeans聚类算法的解析和应用
聚类算法是机器学习中的一种无监督学习算法,它在数据科学领域应用场景很广泛,比如基于用户购买行为、兴趣等来构建推荐系统。
大数据学习与分享
2020/08/10
1.3K0
Spark MLlib中KMeans聚类算法的解析和应用
Spark中的机器学习库MLlib是什么?请解释其作用和常用算法。
Spark中的机器学习库MLlib是一个用于大规模数据处理的机器学习库。它提供了一组丰富的机器学习算法和工具,可以用于数据预处理、特征提取、模型训练和评估等任务。MLlib是基于Spark的分布式计算引擎构建的,可以处理大规模数据集,并利用分布式计算的优势来加速机器学习任务的执行。
GeekLiHua
2025/01/21
2730
大数据开发:Spark MLlib组件学习入门
在Spark生态圈当中,MLlib组件,作为机器学习库而存在,在大数据分析、数据挖掘等数据处理操作上,提供重要的支持。学习Spark,对于MLlib组件的学习,也可以有相应程度的掌握。今天的大数据开发学习分享,我们就来讲讲Spark MLlib组件学习入门。
成都加米谷大数据
2021/08/02
9340
大数据开发:Spark MLlib组件学习入门
机器学习常用算法总结分享
监督学习可以看作是原先的预测模型,有基础的训练数据,再将需要预测的数据进行输入,得到预测的结果(不管是连续的还是离散的) 
商业新知
2019/03/27
1.3K0
机器学习常用算法总结分享
5大常见机器学习算法
本文介绍了 5 大常用机器学习模型类型:集成学习算法,解释型算法,聚类算法,降维算法,相似性算法,并简要介绍了每种类型中最广泛使用的算法模型。我们希望本文可以做到以下三点:
皮大大
2023/08/23
3090
推荐阅读
相关推荐
基于Spark的机器学习实践 (九) - 聚类算法
更多 >
交个朋友
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验