Лучший способ сопоставления пространств объектов в этой задаче классификации с использованием Tfidf и SVM - PullRequest
0 голосов
/ 23 апреля 2020

Я обучаю модель обнаружению спама / нежелательных писем и выбору функций, выполнив:

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 И нового электронного письма?

1 Ответ

0 голосов
/ 24 апреля 2020

Я не понял, что fit_transform полностью заменяет предыдущий. Я просто должен был сохранить оба отдельно.

...