【问题标题】:Store data locally long term长期在本地存储数据
【发布时间】:2014-01-20 13:02:42
【问题描述】:

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

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

【问题讨论】:

标签: python numpy storage similarity


【解决方案1】:

numpy.save 是你需要的:

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

【讨论】:

  • 我有一个 42,000 x 42000 的结果集。你会将它们保存在 42,000 个单独的数组中吗?
  • numpy.savez 允许您将多个数组以未压缩的 .npz 格式保存到单个文件中。
【解决方案2】:

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

它完全按照你的意愿去做。

【讨论】:

    【解决方案3】:

    很难回答你的问题。因为我不知道你的数据量和类型。 但我现在可以告诉你。 如果您正在为此考虑文件,则可能存在横向扩展问题,如果您将 python 服务器扩展到 # of box。所以你可能需要一个共享存储。在这种情况下,你必须考虑像 glusterFS 或 Hadoop 这样的共享存储文件系统。 (glusterFS 更容易)。但是访问时间会很差。 另一个选择是你可以考虑 Redis。它是基于内存的键值存储。它还支持文件持久性。 (因为它的特性与 memcahed 略有不同。) 最后的选择是你可以考虑支持可扩展性和性能的 NoSQL。但这始终取决于您的要求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-26
      • 1970-01-01
      相关资源
      最近更新 更多