使用Tfidf和SVM在此分类问题中匹配特征空间的最佳方法

问题描述 投票:-1回答:1

我正在训练一个模型来检测垃圾邮件/火腿电子邮件,并通过执行以下操作来选择功能:

t = TfidfVectorizer(max_features=num_feature)

t.fit_transform(spam_corpus)
spam_features = t.get_feature_names()

t.fit_transform(ham_corpus)
ham_features = t.get_feature_names()

joblib.dump(t, './output/tfidf.pkl')

return spam_features + ham_features

要素空间同时包含垃圾邮件和垃圾邮件要素。我保存了Tfidf模型,然后将其用于预测这样一个全新的独立电子邮件。但是,在这封新电子邮件中,仅创建了一半的功能(因为我没有添加垃圾邮件和火腿),因此SVM分类器无法预测任何内容。

处理此问题的最佳方法是什么,以使我在受过训练的Tfidf模型和新电子邮件中具有相同数量的功能?

machine-learning svm feature-extraction feature-selection
1个回答
-1
投票

我没有意识到fit_transform完全取代了前一个。我只需要分别保存两者。

© www.soinside.com 2019 - 2024. All rights reserved.