Machine learning 使用Tfidf和SVM对该分类问题中的特征空间进行匹配的最佳方法

Machine learning 使用Tfidf和SVM对该分类问题中的特征空间进行匹配的最佳方法,machine-learning,svm,feature-extraction,feature-selection,Machine Learning,Svm,Feature Extraction,Feature Selection,我正在培训一个模型,以检测垃圾邮件/垃圾邮件,并通过以下方式选择功能: 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.pk

我正在培训一个模型,以检测垃圾邮件/垃圾邮件,并通过以下方式选择功能:

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模型和新电子邮件上拥有相同数量的功能?

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

请不要将答案编辑到您的问题中。你可以这样做,其他人可以看到你已经找到了解决方案,或者其他人可以很容易地找到答案,如果他们有相同的问题。