TF IDF взвешивал частотные оценки в тестовых данных, модель обучалась с использованием SVC - PullRequest
0 голосов
/ 26 июня 2019

Я обучаю прогнозную модель текстовым описаниям и соответствующей им метке.Я использую SVC для обучения совокупности данных с частотами взвешенных слов tf idf.Я хочу понять, есть ли новый набор данных (тест, не использующий разделение теста поезда), который я хочу классифицировать, должен ли он быть векторизован с использованием tf idf.Если да, то следует ли это делать отдельно для данных испытаний или вместе с данными тренировок?

1 Ответ

0 голосов
/ 26 июня 2019

Как правило, векторизатор TfIdf подходит только для обучающих данных, и для получения тестовых данных в том же формате мы выполняем операцию преобразования.Это прежде всего сделано, чтобы избежать утечки данных.Пожалуйста, обратитесь к TfidfVectorizer: следует использовать только в поезде или в поезде + тест .

Итак, сначала подгоните и преобразуйте данные вашего поезда, используя векторизатор tf-idf, а затем для любого входящего набора данных, вы можете использовать тот же векторизатор tf-idf для выполнения требуемого преобразования в векторы tf-idf.

вы могли бы сделать что-то вроде этого,

x_train, x_test, y_train, y_test = train_test_split(
    x, y, test_size=0.3, random_state=101
)


transformer = TfidfTransformer()
x_train_tf = transformer.fit_transform(x_train)
x_test_tf = transformer.transform(x_test)
...