我在Python中使用numpy,scipy和scikit-learn模块。计算稀疏矩阵的相似度
我想分类非常大的稀疏矩阵阵列。 (100,000 * 100,000)
在矩阵中的值是等于0或1。我的唯一事情是的值的索引= 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中的稀疏数组?
如何快速分类这些数组?
非常感谢。
这使我怀疑,这将有可能只是使整个矩阵非稀疏,因为所有的值都为0或者1个,所以不是每个浮点64位,你只使用一位? (我知道这并不能解决你的问题,但是你的问题让我想出了这个问题) – usethedeathstar
你想计算什么样的相似性?为什么你需要稀疏矩阵,而不是仅仅使用索引?那么像len(set(a)&set(b))/ float(len(a))这样简单的东西呢? –
实际上,我想将这些数组从相似性中分组出来。例如,[1,1,1,0]更像[1,1,0,0],但与[0,0,0,1]相反。由于列和行的数量很大。我不知道是否有任何方法可以更快地完成。 –