spark 稠密向量和稀疏向量
Spark mlib的本地向量有两种:
DenseVctor :稠密向量 其创建方式 Vector.dense(数据)
SparseVector :稀疏向量 其创建方式有两种:
方法一:Vector.sparse(向量长度,索引数组,与索引数组所对应的数值数组)
方法二:Vector.sparse(向量长度,(索引,数值),(索引,数值),(索引,数值),...(索引,数值))
示例:
比如向量(1,0,3,4)的创建有三种方法:
稠密向量:直接Vectors.dense(1,0,3,4)
稀疏向量:
方法一:Vector.sparse(4,(0,2,3),(1,3,4)) (0,2,3)
表示该向量的第0个,第2个,第3个位置,(1,3,4) 表示(0,2,3)位置对应的数值分别为1,3,4
方法二:Vector.sparse(4,(0,1),(2,3),(3,4))
(0,1)就是(索引,数值)的形式。位置0的数值为1, 位置2的数值为3,位置3的数值为4。