pyspark.ml.linalg模块之Vector,Vectors,SparseVector,DenseVector详细解析

3 篇文章 1 订阅

源码参考地址

类Vector,Vectors,SparseVector,DenseVector之间的关系

Vector 是SparseVector和DenseVector的基础类

Vectors 产生SparseVector和DenseVector的工厂类

Vector

  • toArray()
    把向量转换成np.ndarray
    SparseVector.toArray()以及Dense.toArray()直接调用基础类的此方法
 def toArray(self):
     """
	 Returns an numpy.ndarray
     """
     return self.array

DenseVector

继承Vector类

class DenseVector(Vector)

v = Vectors.dense([1.0, 2.0])
u = Vectors.dense([3.0, 4.0])

  • dot(other)
    返回两Vector的点乘(两个向量长度要一致)
  • norm( p)
    返回向量的P范数
  • numNonzeros()
    不为零的个数
  • squared_distance(other)
    平方距离
  • toArray()
  • values 属性
    Returns the underlying numpy.ndarray

SparseVector

继承Vector类

class SparseVector(Vector)
a=SparseVector(4, {1: 1.0, 3: 5.5})
b=SparseVector(4, [(1, 1.0), (3, 5.5)])
c=SparseVector(4, [1, 3], [1.0, 5.5])
  • dot(other)
  • norm§
  • indices=None
  • numNonzeros()
  • size=None 返回size
  • squared_distance(other)
  • toArray()
  • values

Vectors

  • dense
    Vectors.dense([1, 2, 3])
  • sparse
    Vectors.sparse(4, {1: 1.0, 3: 5.5})
  • norm
  • squared_distance
  • zeros(size)
    源码
 @staticmethod
    def zeros(size):
        return DenseVector(np.zeros(size))

Vectors.zeros(12)

DenseVector([0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值