6

我正在使用带有 numpy、scipy 和 scikit-learn 模块的 Python。

我想将数组分类为非常大的稀疏矩阵。(100,000 * 100,000)

矩阵中的值等于 0 或 1。我唯一拥有的是 value = 1 的索引。

a = [1,3,5,7,9] 
b = [2,4,6,8,10]

意思是

a = [0,1,0,1,0,1,0,1,0,1,0]
b = [0,0,1,0,1,0,1,0,1,0,1]

如何将索引数组更改为 scipy 中的稀疏数组?

如何快速对这些数组进行分类?

非常感谢你。

4

1 回答 1

4

如果您选择稀疏coo_matrix,则可以通过以下索引创建它:

from scipy.sparse import coo_matrix
import scipy
nrows = 100000
ncols = 100000
row = scipy.array([1,3,5,7,9])
col = scipy.array([2,4,6,8,10])
values = scipy.ones(col.size)
m = coo_matrix((values, (row,col)), shape=(nrows, ncols), dtype=float)
于 2013-07-19T11:54:30.150 回答