聚类——稀疏向量和密集向量

  • 本文关键字:向量 聚类 mahout
  • 更新时间 :
  • 英文 :


对于集群,Mahout输入需要采用向量形式。有两种类型的向量实现。一个是稀疏向量,另一个是密集向量。

两者的区别是什么?

稀疏和密集的使用场景?

从概念上讲,稀疏向量中的大多数值都是零,而密集向量中的值则不是。密集矩阵和稀疏矩阵也是如此。术语稀疏密集通常描述这些性质,而不仅仅是在Mahout中。

在Mahout中,DenseVector假设没有太多的零条目,因此"将向量实现为双精度数组"(org.apache.Mahout.math.DenseVector)。相比之下,AbstractVector的稀疏向量实现,例如RandomAccessSparseVectorSequentialAccessSparseVector,使用不同的数据结构,根本不存储零值。

取哪一个取决于要存储在向量中的数据。如果您期望的大多是零值,则稀疏向量实现将更节省空间,但是,如果您将其用于只有几个零值的数据,则会引入大量数据结构开销,这可能会导致性能下降。

密集矢量与稀疏矢量的选择不会影响矢量的计算结果,只会影响内存使用率和计算速度。

相关内容

  • 没有找到相关文章

最新更新