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

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: Spark学习之基于MLlib的机器学习1. 机器学习算法尝试根据训练数据(training data)使得表示算法行为的数学目标最大化,并以此来进行预测或作出决定。2. MLlib完成文本分类任务步骤:(1)首先用字符串RDD来表示你的消息(2)运行MLlib中的一个特征提取(feature extraction)算法来把文本数据转换为数值特征(适合

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会把特征映射到低位空间,让数据在低维空间表示的方差最大化,从而忽略一些无用的维度。
      • 要计算这种映射,我们要构建出正规化的相关矩阵,并使用这个矩阵的奇异向量和奇异值。
      • 与最大的一部分奇异值相对应的奇异向量可以用来重建原始数据的主要成分。
//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)原语。
目录
相关文章
|
机器学习/深度学习 分布式计算 大数据
阿里云 EMR Serverless Spark 在微财机器学习场景下的应用
面对机器学习场景下的训练瓶颈,微财选择基于阿里云 EMR Serverless Spark 建立数据平台。通过 EMR Serverless Spark,微财突破了单机训练使用的数据规模瓶颈,大幅提升了训练效率,解决了存算分离架构下 Shuffle 稳定性和性能困扰,为智能风控等业务提供了强有力的技术支撑。
788 15
|
机器学习/深度学习 数据采集 分布式计算
【机器学习】Spark ML 对数据进行规范化预处理 StandardScaler 与向量拆分
标准化Scaler是数据预处理技术,用于将特征值映射到均值0、方差1的标准正态分布,以消除不同尺度特征的影响,提升模型稳定性和精度。Spark ML中的StandardScaler实现此功能,通过`.setInputCol`、`.setOutputCol`等方法配置并应用到DataFrame数据。示例展示了如何在Spark中使用StandardScaler进行数据规范化,包括创建SparkSession,构建DataFrame,使用VectorAssembler和StandardScaler,以及将向量拆分为列。规范化有助于降低特征重要性,提高模型训练速度和计算效率。
1138 6
|
机器学习/深度学习 分布式计算 算法
【机器学习】Spark ML 对数据特征进行 One-Hot 编码
One-Hot 编码是机器学习中将离散特征转换为数值表示的方法,每个取值映射为一个二进制向量,常用于避免特征间大小关系影响模型。Spark ML 提供 OneHotEncoder 进行编码,输入输出列可通过 `inputCol` 和 `outputCol` 参数设置。在示例中,先用 StringIndexer 对类别特征编码,再用 OneHotEncoder 转换,最后展示编码结果。注意 One-Hot 编码可能导致高维问题,可结合实际情况选择编码方式。
673 6
|
机器学习/深度学习 分布式计算 算法
使用Spark进行机器学习
【5月更文挑战第2天】使用Spark进行机器学习
410 2
|
机器学习/深度学习 分布式计算 API
技术好文:Spark机器学习笔记一
技术好文:Spark机器学习笔记一
290 0
|
机器学习/深度学习 分布式计算 算法
Spark MLlib简介与机器学习流程
Spark MLlib简介与机器学习流程
|
9月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
1843 6
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
985 8
|
机器学习/深度学习 存储 Kubernetes
【重磅发布】AllData数据中台核心功能:机器学习算法平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。

热门文章

最新文章