长期在本地存储数据

时间:2014-01-20 13:02:43

标签: python numpy storage similarity

我正在研究歌曲的reccommender算法。我有一个值矩阵,我得到了python(numPy)中的余弦相似性。问题是,每次运行程序时,我都需要重新计算每个向量与其他向量的相似性。我想在本地存储计算结果,所以我不必每次都计算它。

我想到的第一件事就是将它们存储在文本文件中,或存储在数据库本身中。当然有更好的方法吗?

3 个答案:

答案 0 :(得分:4)

numpy.save就是您所需要的:

numpy.save(file, arr)
Save an array to a binary file in NumPy .npy format.

答案 1 :(得分:1)

查看https://pypi.python.org/pypi/joblib

它完全符合您的要求。

答案 2 :(得分:-1)

很难回答你的问题。因为我不知道你的数据量和类型。 但我现在可以告诉你。 如果你正在考虑文件,它可能有扩展问题,如果你将python服务器扩展到#box。所以你可能需要共享存储。在这种情况下,你必须考虑共享存储文件系统,如glusterFS或Hadoop。 (glusterFS更为简单)。但访问时间将非常短。 另一种选择是你可以考虑Redis。它是基于记忆的密钥&超值商店。它还支持文件持久性。 (因为它的特征与memcahed有点不同。) 最后的选择是你可以考虑NoSQL,它可以支持可扩展性和性能。但它总是取决于您的要求。