在Mahout中,向量被实现为三个不同的类:
1.DenseVector(密集向量):double型数据,其大小为数据中的特征个数。不管数组的元素值是否为0,数组中的所有元素都被与预先分配了空间。
2.RandomAccessSparseVector(稀疏向量):实现为integer型和double型之间的一个HashMap,只有非零元素被分配空间。
3.SequentialAccessSparseVector:实现为两个并列的数组,一个是integer型,另一个是double型。其中只保留非零元素。
面向随机访问:DenseVector,RandomAccessSparseVector
面向顺序读取:SequentialAccessSparseVector