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。

原文地址:https://www.cnblogs.com/lyr2015/p/7814815.html