【大数据分析】MLlib:线性代数

线性代数是数学的分支,专注于向量空间和线性运算,它们之间的映射主要由矩阵表示。Spark中的矩阵和向量可以在本地或以分布式方式进行操作。Spark中分布式矩阵的实现使用户能够跨越大量机器对大量数据进行线性代数运算。对于局部线性代数操作,Spark使用非常快的Breeze和jblas(Python的Numpy),并且它具有自己的分布式实现。

本地向量和矩阵实现

spark中的本地向量和矩阵实现位于org.apache.spark.mllib.linalg中。

生成本地向量

Spark中的本地向量使用DenseVector和SparseVector两个类实现,它们实现了一个名为Vector的通用接口,确保两个实现都支持完全相同的操作集。创建向量可以使用Vector类的dense和sparse方法。对于dense方法可以传入多个元素作为参数,也可以传入Array数组。sparse方法,则需要指定向量大小,索引数组和元素数组。

import org.apache.spark.mllib.linalg.{
   Vectors,Vector}
val dv1:Vector = Vectors.dense(5.0,6.0,7.0,8.0)
val dv2:Vector = Vectors.dense(Array(5.0,6.0,7.0,8.0))
val sv:Vector = Vectors.sparse(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值