我想存储TF-IDF矩阵,这样我就不必一直重新计算它。我正在使用scikit learn的TfIdfVectorizer。是将其保存在数据库中,还是将其保存在数据库中更有效?
一些背景:我正在使用k-means聚类来提供文档推荐。由于经常添加新文档,因此我希望存储文档的TF-IDF值,以便可以重新计算聚类。
发布于 2012-06-20 22:04:58
酸洗(特别是使用joblib.dump)适合短期存储,例如在交互式会话中保存部分结果或将模型从开发服务器发送到生产服务器。
然而,酸洗格式依赖于模型的类定义,这些模型的类定义可能会从scikit-learn的一个版本更改到另一个版本。
如果您计划长期保留模型并将其加载到scikit-learn的未来版本中,我建议您编写自己的独立于实现的持久性模型。
我还建议使用HDF5文件格式(例如,在PyTables中使用)或其他支持高效存储数值数组的数据库系统。
另外,还可以查看scipy.sparse的稀疏矩阵表示的内部CSR和COO数据结构,以提出一种将这些数据存储在数据库中的有效方法。
https://stackoverflow.com/questions/11102429
复制相似问题