我一直在关注以下使用doc2vec进行文本分类的示例:
我在数据集上运行了此笔记本,并希望将doc2vec模型之一应用于第三数据集(例如,构建测试/训练模型的整个数据集)。我尝试过:
X_train, X_test, y_train, y_test = train_test_split(df.post, df.tags, random_state=0, test_size=0.3)
X_train = label_sentences(X_train, 'Train')
X_test = label_sentences(X_test, 'Test')
#added
big_text = label_sentences(big_text, 'Test') #big_text = larger dataframe
#old
#all_data = X_train + X_test
#new
all_data = X_train + X_test + big_text
1-对于应用目的,这实际上并不实际。在培训/测试时可能无法获得想要预测的数据。
2-结果模型性能下降
那么,如何保存一次模型并将其应用于完全不同的数据集?似乎我也需要使用其他数据集的文档来更新doc2vec模型。
gensim Doc2Vec
模型可以使用.save(filepath)
和.load(filepath)
方法保存和加载。 (使用这些从本机到Gensim的方法将在比普通Python酸洗所支持的更大的模型上工作,并且更有效地将一些更大的内部数组存储为单独的文件。(如果移动保存的模型,请确保保留此辅助文件紧随filepath
位置的主文件。)