我在一个类中创建了一个CountVectorizer,并使用fit_transform生成向量。这生成了一个词汇表。我希望将这个CountVectorizer和词汇表保存到一个文件中,以便在另一个类中重用。有没有人能给我一些建议?我已经尝试过使用save_npz来保存整个内容,但没有正确工作。
这是我尝试保存整个内容的函数。我不确定这是否是正确的做法。
...count_vect = CountVectorizer()...def vectorizeData(): clean_data = pd.read_feather('../working/' + PROJECT + '_clean.feather') word_count = count_vect.fit_transform(clean_data.text) scipy.sparse.save_npz('../working/' + PROJECT + '_countVec.npz', word_count)
以及加载的代码
def ModelData(): ... count_vect_test = scipy.sparse.load_npz('../working/' + PROJECT + '_countVec.npz') ...
加载后,我只有csr_matrix,而没有CountVectorizer对象。
回答:
你试过使用joblib吗?
https://joblib.readthedocs.io/en/latest/generated/joblib.dump.html
import joblib# 保存Python对象为pkl的示例joblib.dump(vectorizer, "vectorizer.pkl")# 加载pickled的vectorizervectorizer = joblib.load("vectorizer.pkl")