在Python中进行大型矩阵计算的最佳模块?

时间:2012-08-29 03:48:54

标签: python matrix

我正在开发一个简单的推荐系统,并尝试进行一些计算,如SVD,RBM等。

为了更有说服力,我将使用Movielens或Netflix数据集来评估系统的性能。但是,这两个数据集都有超过100万用户和超过1万个项目,所以不可能将所有数据都放入内存。我必须使用一些特定的模块来处理这么大的矩阵。

我知道SciPy中有一些工具可以解决这个问题,divisi2使用的python-recsys似乎也是一个不错的选择。或者也许有一些我不知道的更好的工具?

我应该使用哪个模块?有什么建议吗?

3 个答案:

答案 0 :(得分:6)

我建议SciPy,特别是Sparse。正如Dougal指出的那样,Numpy不适合这种情况。

答案 1 :(得分:2)

我找到了另一个名为crab的解决方案,我尝试找到并比较其中一些。

答案 2 :(得分:-1)

如果你担心的只是将数据放入内存使用64位python和64位numpy。如果你没有足够的物理内存,你可以增加os级别的虚拟内存。虚拟内存的大小仅受您的硬盘大小的限制。然而,计算速度是一种不同的野兽!