TfidfVectorizer
- classsklearn.feature_extraction.text.TfidfVectorizer(*, input='content', encoding='utf-8', decode_error='strict', strip_accents=None, lowercase=True, preprocessor=None, tokenizer=None, analyzer='word', stop_words=None, token_pattern='(?u)\\b\\w\\w+\\b', ngram_range=(1, 1), max_df=1.0, min_df=1, max_features=None, vocabulary=None, binary=False, dtype=<class 'numpy.float64'>, norm='l2', use_idf=True, smooth_idf=True, sublinear_tf=False)[исходный код]
-
Преобразует коллекцию исходных документов в матрицу признаков TF-IDF.
Эквивалентно
CountVectorizerс последующим применениемTfidfTransformer.Подробнее см. в руководстве пользователя.
- Параметры:
-
- input{‘filename’, ‘file’, ‘content’}, default=’content’
-
- Если задано
'filename', последовательность, переданная в качестве аргумента в fit, должна быть списком имён файлов, которые необходимо прочитать, чтобы получить исходное содержимое для анализа. - Если задано
'file', элементы последовательности должны иметь метод ‘read’ (файлоподобный объект), который вызывается для получения байтов в памяти. - Если задано
'content', входные данные должны быть последовательностью элементов типа string или byte.
- Если задано
- encodingstr, default=’utf-8’
-
Если для анализа переданы байты или файлы, эта кодировка используется для декодирования.
- decode_error{‘strict’, ‘ignore’, ‘replace’}, default=’strict’
-
Указание, что делать, если переданная для анализа последовательность байтов содержит символы, не соответствующие заданной
encoding. По умолчанию используется значение ‘strict’, означающее, что будет вызвано исключение UnicodeDecodeError. Другие значения — ‘ignore’ и ‘replace’. - strip_accents{‘ascii’, ‘unicode’} or callable, default=None
-
Удаляет диакритические знаки и выполняет другую нормализацию символов на этапе предварительной обработки. ‘ascii’ — быстрый метод, работающий только с символами, имеющими прямое соответствие в ASCII. ‘unicode’ — немного более медленный метод, работающий с любыми символами. None (значение по умолчанию) означает, что нормализация символов не выполняется.
И ‘ascii’, и ‘unicode’ используют нормализацию NFKD из
unicodedata.normalize. - lowercasebool, default=True
-
Преобразует все символы в нижний регистр перед токенизацией.
- preprocessorcallable, default=None
-
Заменяет этап предварительной обработки (преобразования строки), сохраняя этапы токенизации и генерации n-грамм. Применяется, только если
analyzerне является вызываемым объектом. - tokenizercallable, default=None
-
Заменяет этап токенизации строки, сохраняя этапы предварительной обработки и генерации n-грамм. Применяется, только если
analyzer == 'word'. - analyzer{‘word’, ‘char’, ‘char_wb’} or callable, default=’word’
-
Определяет, будут ли признаки состоять из словесных или символьных n-грамм. Параметр ‘char_wb’ создаёт символьные n-граммы только из текста внутри границ слов; n-граммы по краям слов дополняются пробелами.
Если передан вызываемый объект, он используется для извлечения последовательности признаков из исходных необработанных входных данных.
Изменено в версии 0.21: Начиная с версии 0.21, если
inputимеет значение'filename'или'file', данные сначала считываются из файла, а затем передаются указанному вызываемому анализатору. - stop_words{‘english’}, list, default=None
-
Если задана строка, она передаётся в _check_stop_list, который возвращает соответствующий список стоп-слов. В настоящее время ‘english’ — единственное поддерживаемое строковое значение. С ‘english’ связано несколько известных проблем, поэтому рекомендуется рассмотреть альтернативный вариант (см. раздел Использование стоп-слов).
Если задан список, предполагается, что он содержит стоп-слова, которые будут удалены из результирующих токенов. Применяется, только если
analyzer == 'word'.Если задано None, стоп-слова не используются. В этом случае установка
max_dfв более высокое значение, например из диапазона (0.7, 1.0), позволяет автоматически обнаруживать и фильтровать стоп-слова на основе частоты терминов в документах корпуса. - token_patternstr, default=r”(?u)\b\w\w+\b”
-
Регулярное выражение, определяющее, что считается «токеном»; используется только если
analyzer == 'word'. Регулярное выражение по умолчанию выбирает токены, состоящие из двух или более буквенно-цифровых символов (пунктуация полностью игнорируется и всегда считается разделителем токенов).Если в token_pattern есть захватывающая группа, токеном становится содержимое захваченной группы, а не совпадение целиком. Разрешена не более чем одна захватывающая группа.
- ngram_rangetuple (min_n, max_n), default=(1, 1)
-
Нижняя и верхняя границы диапазона значений n для извлекаемых n-грамм. Используются все значения n, для которых min_n <= n <= max_n. Например,
ngram_rangeсо значением(1, 1)означает, что будут использоваться только униграммы,(1, 2)означает, что будут использоваться униграммы и биграммы, а(2, 2)— только биграммы. Применяется, только еслиanalyzerне является вызываемым объектом. - max_dffloat or int, default=1.0
-
При построении словаря игнорируются термины, частота документов для которых строго превышает заданный порог (стоп-слова, специфичные для корпуса). Если задано число с плавающей точкой в диапазоне [0.0, 1.0], параметр обозначает долю документов; целое число задаёт абсолютное количество. Этот параметр игнорируется, если vocabulary не равно None.
- min_dffloat or int, default=1
-
При построении словаря игнорируются термины, частота документов для которых строго ниже заданного порога. В литературе это значение также называют порогом отсечения. Если задано число с плавающей точкой в диапазоне [0.0, 1.0], параметр обозначает долю документов; целое число задаёт абсолютное количество. Этот параметр игнорируется, если vocabulary не равно None.
- max_featuresint, default=None
-
Если задано значение, отличное от None, строится словарь, учитывающий только
max_features, упорядоченные по частоте терминов во всём корпусе. В противном случае используются все признаки.Этот параметр игнорируется, если vocabulary не равно None.
- vocabularyMapping or iterable, default=None
-
Либо объект Mapping (например, dict), в котором ключи — термины, а значения — индексы в матрице признаков, либо итерируемый объект с терминами. Если значение не задано, словарь формируется на основе входных документов.
- binarybool, default=False
-
Если задано значение True, все ненулевые счётчики терминов устанавливаются в 1. Это не означает, что на выходе будут только значения 0 и 1; двоичным становится только член tf в tf-idf. (Установите
binaryв True,use_idfв False иnormв None, чтобы получить выходные значения 0 и 1.) - dtypedtype, default=float64
-
Тип матрицы, возвращаемой методами fit_transform() или transform().
- norm{‘l1’, ‘l2’} or None, default=’l2’
-
Каждая выходная строка будет иметь единичную норму одного из следующих типов:
- ‘l2’: Сумма квадратов элементов вектора равна 1. После применения нормы l2 косинусное сходство двух векторов равно их скалярному произведению.
- ‘l1’: Сумма абсолютных значений элементов вектора равна 1. См.
normalize. - None: Нормализация не выполняется.
- use_idfbool, default=True
-
Включает взвешивание с использованием обратной частоты документа. Если задано False, idf(t) = 1.
- smooth_idfbool, default=True
-
Сглаживает веса idf, прибавляя единицу к частоте документов, как если бы в коллекции был дополнительный документ, содержащий каждый термин ровно один раз. Предотвращает деление на ноль.
- sublinear_tfbool, default=False
-
Применяет суб линейное масштабирование tf, то есть заменяет tf на 1 + log(tf).
- Атрибуты:
-
- vocabulary_dict
-
Соответствие терминов индексам признаков.
- fixed_vocabulary_bool
-
Значение True, если пользователь предоставил фиксированный словарь, сопоставляющий термины индексам.
-
idf_array of shape (n_features,) -
Вектор обратной частоты документов; определён только если
use_idf=True.
См. также
CountVectorizer-
Преобразует текст в разреженную матрицу счётчиков n-грамм.
TfidfTransformer-
Выполняет преобразование TF-IDF для предоставленной матрицы счётчиков.
Примеры
>>> from sklearn.feature_extraction.text import TfidfVectorizer >>> corpus = [ ... 'This is the first document.', ... 'This document is the second document.', ... 'And this is the third one.', ... 'Is this the first document?', ... ] >>> vectorizer = TfidfVectorizer() >>> X = vectorizer.fit_transform(corpus) >>> vectorizer.get_feature_names_out() array(['and', 'document', 'first', 'is', 'one', 'second', 'the', 'third', 'this'], ...) >>> print(X.shape) (4, 9)- build_analyzer()[исходный код]
-
Возвращает вызываемый объект для обработки входных данных.
Вызываемый объект выполняет предварительную обработку, токенизацию и генерацию n-грамм.
- Возвращает:
-
- analyzer: callable
-
Функция для выполнения предварительной обработки, токенизации и генерации n-грамм.
- build_preprocessor()[исходный код]
-
Возвращает функцию для предварительной обработки текста перед токенизацией.
- Возвращает:
-
- preprocessor: callable
-
Функция для предварительной обработки текста перед токенизацией.
- build_tokenizer()[исходный код]
-
Возвращает функцию, которая разбивает строку на последовательность токенов.
- Возвращает:
-
- tokenizer: callable
-
Функция для разбиения строки на последовательность токенов.
- decode(doc)[исходный код]
-
Декодирует входные данные в строку символов Unicode.
Стратегия декодирования зависит от параметров векторизатора.
- Параметры:
-
- docbytes or str
-
Строка для декодирования.
- Возвращает:
-
- doc: str
-
Строка символов Unicode.
- fit(raw_documents, y=None)[исходный код]
-
Обучается на обучающем наборе, определяя словарь и idf.
- Параметры:
-
- raw_documentsiterable
-
Итерируемый объект, элементы которого являются строками str, Unicode или файловыми объектами.
- yNone
-
Этот параметр не требуется для вычисления tfidf.
- Возвращает:
-
- selfobject
-
Обученный векторизатор.
- fit_transform(raw_documents, y=None)[исходный код]
-
Определяет словарь и idf и возвращает матрицу «документ–термин».
Эквивалентен последовательному вызову fit и transform, но реализован более эффективно.
- Параметры:
-
- raw_documentsiterable
-
Итерируемый объект, элементы которого являются строками str, Unicode или файловыми объектами.
- yNone
-
Этот параметр игнорируется.
- Возвращает:
-
- Xsparse matrix of (n_samples, n_features)
-
Матрица «документ–термин» с весами tf-idf.
- get_feature_names_out(input_features=None)[исходный код]
-
Возвращает имена выходных признаков после преобразования.
- Параметры:
-
- input_featuresarray-like of str or None, default=None
-
Не используется; присутствует здесь для обеспечения согласованности API в соответствии с соглашением.
- Возвращает:
-
- feature_names_outndarray of str objects
-
Имена преобразованных признаков.
- get_metadata_routing()[исходный код]
-
Возвращает настройки маршрутизации метаданных этого объекта.
Описание работы механизма маршрутизации см. в руководстве пользователя.
- Возвращает:
-
- routingMetadataRequest
-
Объект
MetadataRequest, содержащий сведения о маршрутизации.
- get_params(deep=True)[исходный код]
-
Возвращает параметры этого оценщика.
- Параметры:
-
- deepbool, default=True
-
Если задано True, возвращает параметры этого оценщика и содержащихся в нём подобъектов, являющихся оценщиками.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные их значениям.
- get_stop_words()[исходный код]
-
Формирует или получает действующий список стоп-слов.
- Возвращает:
-
- stop_words: list or None
-
Список стоп-слов.
- inverse_transform(X)[исходный код]
-
Возвращает термины для каждого документа, соответствующие ненулевым элементам X.
- Параметры:
-
- X{array-like, sparse matrix} of shape (n_samples, n_features)
-
Матрица «документ–термин».
- Возвращает:
-
- X_originallist of arrays of shape (n_samples,)
-
Список массивов терминов.
- set_params(**params)[исходный код]
-
Задаёт параметры этого оценщика.
Метод работает как с простыми оценщиками, так и с вложенными объектами (например,
Pipeline). Параметры последних имеют вид<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценщика.
- Возвращает:
-
- selfestimator instance
-
Экземпляр оценщика.
- transform(raw_documents)[исходный код]
-
Преобразует документы в матрицу «документ–термин».
Использует словарь и частоты документов (df), полученные при вызове fit (или fit_transform).
- Параметры:
-
- raw_documentsiterable
-
Итерируемый объект, элементы которого являются строками str, Unicode или файловыми объектами.
- Возвращает:
-
- Xsparse matrix of (n_samples, n_features)
-
Матрица «документ–термин» с весами tf-idf.
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html