Что произойдет, если я просто 'vectorizer.transform(фраза)' без подгонки его?

Некоторые вещи сбивают меня с толку, когда дело доходит до векторизации фраз и их преобразования в матричную форму.

Когда вы импортируете CountVectorizer или TfidfVectorizer,

В чем различия функций.fit &.transform &.fit_transform?

Я знаю, что ".fit" выучит нграммы, разбитые на нграммы.

".transform" поместит его в матрицу фразы x ngram.

".fit_transform" работает как комбинация.fit &.transform

Если это так, что произойдет, если я просто добавлю vectorize.transform (фразу) без подгонки?

Я видел этот учебник, который настраивает данные, которые соответствуют и преобразуют данные поезда, но для тестовых данных он выполняет только операцию "преобразования" для прогноза.

Спасибо всем заранее.

1 ответ

Особенности:

  1. .transform(X) = Преобразовать словарь объектов в 2D матрицу объектов.
  2. .fit_transform(X) = узнать названия функций + .transform(X)

Чтобы ответить на ваш вопрос:

Вы можете .transform только после изучения функций с помощью .fit, Непосредственно применяя .transform будет игнорировать любые функции, не допускаемые в .fit и, следовательно, не будет выводить какие-либо результаты классификации.

Рекомендации:

  • Согласно документации в http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.DictVectorizer.html, .transform(X) преобразует любой dict X (отображение feature_name в feature_values) в матрицу двумерных объектов. 2D-матрица является правильным способом (в соответствии с векторной математикой) для ввода записей в классификатор.
  • Согласно http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.DictVectorizer.html, .fit_transform(X,y=None) во-первых, запоминает список имен объектов на входе dict X (термин для процесса обучения называется fitting) и во-вторых, применяется transform процедуры, указанные в предыдущем абзаце.
Другие вопросы по тегам