坚持Tf-Idf数据

时间:2012-06-19 13:50:21

标签: python machine-learning scikit-learn pickle

我想存储TF-IDF矩阵,所以我不必一直重新计算它。我正在使用scikit-learn's TfIdfVectorizer。腌制或将其存储在数据库中是否更有效?

某些背景信息:我正在使用k-means聚类来提供文档推荐。由于经常添加新文档,我想存储文档的TF-IDF值,以便我可以重新计算集群。

1 个答案:

答案 0 :(得分:7)

酸洗(特别是使用joblib.dump)适用于短期储存,例如将部分结果保存在交互式会话中或将模型从开发服务器发送到生产服务器。

然而,酸洗格式取决于模型的类定义,这些定义可能会从一个版本的scikit-learn变为另一个版本。

如果您计划长时间保留模型并且可以在未来的scikit-learn版本中加载它,我建议编写您自己的独立实现持久性模型。

我还建议使用HDF5文件格式(例如在PyTables中使用)或其他有效支持存储数值数组的数据库系统。

另请参阅scipy.sparse的稀疏矩阵表示的内部CSR和COO数据结构,以便提供一种将数据存储在数据库中的有效方法。