Я обучаю модель обнаружению спама / нежелательных писем и выбору функций, выполнив:
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 И нового электронного письма?