我有一个非常大且稀疏的二进制矩阵,它包含一组样本中某些类的出现:
>>> import numpy
>>>
>>> type(data)
<class 'scipy.sparse.dok.dok_matrix'>
>>> data.shape
(23571, 139045)
所以是23571
类和139045
样本。矩阵相当稀疏:
>>> dataGS.getnnz()/(dataGS.shape[0]*dataGS.shape[1]*1.0)
0.000512511985402024
我需要计算共现矩阵,大小为23571 X 23571
的对称矩阵,它将类i
与类j
一起出现的次数存储在它的[i,j]
元素中。我试着用数据矩阵乘以它的转置:
coocc = data.dot(data.T)
但是没有记忆了。有没有另一种快速构造矩阵的方法(因此,很明显,我试图避免创建一个零23571 X 23571
矩阵,然后通过显式循环遍历每个样本和计数对来填充每个[i,j]
位置)
目前没有回答
相关问题 更多 >
编程相关推荐