Что произойдет, если я просто 'vectorizer.transform(фраза)' без подгонки его?
Некоторые вещи сбивают меня с толку, когда дело доходит до векторизации фраз и их преобразования в матричную форму.
Когда вы импортируете CountVectorizer или TfidfVectorizer,
В чем различия функций.fit &.transform &.fit_transform?
Я знаю, что ".fit" выучит нграммы, разбитые на нграммы.
".transform" поместит его в матрицу фразы x ngram.
".fit_transform" работает как комбинация.fit &.transform
Если это так, что произойдет, если я просто добавлю vectorize.transform (фразу) без подгонки?
Я видел этот учебник, который настраивает данные, которые соответствуют и преобразуют данные поезда, но для тестовых данных он выполняет только операцию "преобразования" для прогноза.
Спасибо всем заранее.
1 ответ
Особенности:
.transform(X)
= Преобразовать словарь объектов в 2D матрицу объектов..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
процедуры, указанные в предыдущем абзаце.