1

我是 Python 新手,你能帮我了解一些基本的稀疏矩阵运算吗:

  1. 如何在不事先使整个矩阵密集的情况下从稀疏矩阵中提取密集行向量? coo_matrix.getrow()只返回一个稀疏表示

  2. 如何从稀疏矩阵中随机提取一定比例的行(比如 80%)?我需要将它们用作训练数据,并将剩余的比例用作测试数据。

提前致谢!

4

1 回答 1

1
  1. coo_matrix.getrow().todense()
  2. 使用支持切片的不同稀疏表示,例如csr_matrix. 对于稀疏矩阵 A,A[i] 将给出第 i 行。

例如:

In [9]: from random import sample

In [10]: A = csr_matrix(...)

In [11]: n = A.shape[0]

In [12]: indices = sample(range(n), 4*n/5)

In [13]: A[indices].todense()
于 2013-04-29T00:20:29.237 回答