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完全取代了以前的一个。我只需要分别保存这两个问题。请不要将答案编辑到您的问题中。你可以这样做,其他人可以看到你已经找到了解决方案,或者其他人可以很容易地找到答案,如果他们有相同的问题。