类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])