掌握Spark机器学习库 01 --- 数据类型

本文主要介绍了Spark机器学习库Mllib中的数据格式,包括本地向量(密集与稀疏)、标签数据、本地矩阵(密集与稀疏)、分布式矩阵(RowMatrix、IndexedRowMatrix、CoordinateMatrix、BlockMatrix)以及分布式数据集(RDD、DataSet、DataFrame)。通过实例展示了如何创建和使用这些数据类型,强调了分布式矩阵的选择和转换注意事项。
摘要由CSDN通过智能技术生成

一,Mllib的数据格式

1,本地向量 

本地向量是存储在本地节点上的,其基本数据类型是Vector,其有两个子集,分别是密集的与稀疏的,我们一般使用Vectors工厂类来实现。如:

    Vectors.dese(1.0,2.0,3.0)

   Vectors.sparse(3,(0,1),(1,2),(2,3))

2, 标签数据

val pos = LabeledPoint(1.0, Vectors.dense(1.0, 0.0, 3.0))

 

3,本地矩阵

本地矩阵是存储与单台机器上的,有整类型的row,列索引,double类型的值。Mllib支持密集矩阵,其输入值按照列column-major顺序存储在单个double数组中。稀疏矩阵是其非零值按照column-major顺序以压缩稀疏列(CSC)格式存储。

如下面的密集矩阵

?wx_fmt=png

密集矩阵的存储方式下,表现为:[1.0, 3.0, 5.0, 2.0, 4.0, 6.0],矩阵大小为(3, 2)

本地矩阵的基类是Matrix,有两个实现:DenseMatrix和SparseMatrix。用工厂方法来创建本地矩阵。请记住,Mllib中的本地矩阵按照column-major的顺序存储。

import org.apache.spark.mllib.linalg.{Matrix, Matrices}

// Create a dense matrix (

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值