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

稀疏向量与密集向量
EN

Stack Overflow用户
提问于 2015-07-21 01:37:31
回答 2查看 46.7K关注 0票数 22

如何创建SparseVector和密集向量表示

如果DenseVector为:

代码语言:javascript
复制
denseV = np.array([0., 3., 0., 4.])

稀疏向量表示是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-21 02:34:40

除非我完全误解了您的疑问,否则MLlib data type documentation非常清楚地说明了这一点:

代码语言:javascript
复制
import org.apache.spark.mllib.linalg.Vector;
import org.apache.spark.mllib.linalg.Vectors;

// Create a dense vector (1.0, 0.0, 3.0).
Vector dv = Vectors.dense(1.0, 0.0, 3.0);
// Create a sparse vector (1.0, 0.0, 3.0) by specifying its indices and values corresponding to nonzero entries.
Vector sv = Vectors.sparse(3, new int[] {0, 2}, new double[] {1.0, 3.0});

其中,Vectors.sparse的第二个参数是索引的数组,第三个参数是这些索引中的实际值的数组。

票数 26
EN

Stack Overflow用户

发布于 2017-04-13 18:17:36

稀疏向量是当向量中有很多值为零时。而稠密向量是指向量中的大多数值都不为零。

如果必须从指定的密集向量创建稀疏向量,请使用以下语法:

代码语言:javascript
复制
import org.apache.spark.mllib.linalg.Vector;
import org.apache.spark.mllib.linalg.Vectors;

Vector sparseVector = Vectors.sparse(4, new int[] {1, 3}, new double[] {3.0, 4.0});
票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31522893

复制
相关文章

相似问题

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