首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >聚类--稀疏向量和密集向量

聚类--稀疏向量和密集向量
EN

Stack Overflow用户
提问于 2013-07-28 16:23:28
回答 1查看 4.1K关注 0票数 12

对于聚类,Mahout输入需要向量形式。矢量实现有两种类型。一个是稀疏向量,另一个是稠密向量。

两者有什么区别?

稀疏和密集的使用场景?

EN

回答 1

Stack Overflow用户

发布于 2014-11-03 01:27:08

在概念上,稀疏向量中的大多数值为零,而在稠密向量中,它们不是。稠密和稀疏矩阵也是如此。“稀疏”和“密集”一词通常描述这些属性,而不仅仅是在Mahout中。

在Mahout中,DenseVector假设没有太多的零项,因此“将向量实现为一个双重数组”(org.apache.mahout.math.DenseVector)。相反,AbstractVector的稀疏向量实现(如RandomAccessSparseVectorSequentialAccessSparseVector )使用不同的数据结构,根本不存储零值。

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

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

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17910290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档