4

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

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

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

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

4

3 回答 3

6

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

于 2012-08-29T03:54:04.520 回答
2

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

于 2012-11-22T07:10:46.527 回答
-1

如果您只是将数据放入内存中,请使用 64 位 python 和 64 位 numpy。如果你没有足够的物理内存,你可以在操作系统级别增加虚拟内存。虚拟内存的大小仅受硬盘大小的限制。然而,计算速度是另一回事!

于 2012-08-29T04:32:16.787 回答