有没有办法在Python的内存或文件系统中保存类的实例?我可以使用shelve
吗?
以下行是this tutorial的一部分,需要很长时间才能执行,我需要将其缓存以供下次程序执行。
clf = MultinomialNB().fit(X_train_counts, training_data['targets'])
clf
的类型:
>>> type(clf)
<class 'sklearn.naive_bayes.MultinomialNB'>
答案 0 :(得分:2)
是的,您可以使用shelve
来保存类的实例。 shelve
为您提供了一个字典界面,使该过程相对透明。
在下面,shelve
使用pickle
library;如果shelve
API不能满足您的需求,您可以直接进入该模块。
scikit-learn
明确支持pickle
,请参阅Model persistence:
在训练了scikit-learn模型之后,最好有一种方法来保持模型以备将来使用而无需重新训练。以下部分为您提供了如何使用pickle持久保存模型的示例。