DictVectorizer
- classsklearn.feature_extraction.DictVectorizer(*, dtype=<class 'numpy.float64'>, separator='=', sparse=True, sort=True)[source]
-
Преобразует списки сопоставлений имени-значения в векторы.
Этот преобразователь преобразует списки сопоставлений (объекты, подобные словарям) имён признаков к значениям признаков в массивы NumPy или разреженные матрицы scipy.sparse для использования с оценщиками scikit-learn.
Когда значения признаков являются строками, этот преобразователь выполнит двоичное кодирование one-hot (также известное как one-of-K): для каждого из возможных строковых значений, которые может принимать признак, создаётся один булевый признак со значением. Например, признак «f», который может принимать значения «ham» и «spam», преобразуется в два признака на выходе, один обозначающий «f=ham», а другой — «f=spam».
Если значение признака является последовательностью или множеством строк, этот преобразователь будет перебирать значения и подсчитывать количество вхождений каждого строкового значения.
Однако обратите внимание, что этот преобразователь выполнит двоичное кодирование one-hot только в том случае, если значения признаков являются строками. Если категориальные признаки представлены числовыми значениями, такими как целые числа или итерируемые строки, DictVectorizer можно дополнить
OneHotEncoderдля завершения двоичного кодирования one-hot.Признаки, которые не встречаются в образце (сопоставлении), будут иметь нулевое значение в результирующем массиве/матрице.
Для сравнения эффективности различных экстракторов признаков см. Сравнение FeatureHasher и DictVectorizer.
Подробнее см. в Руководстве пользователя.
- Параметры:
-
- dtypedtype, по умолчанию=np.float64
-
Тип значений признаков. Передаётся конструкторам массивов NumPy/scipy.sparse матриц в качестве аргумента dtype.
- separatorstr, по умолчанию=”=”
-
Строка-разделитель, используемая при построении новых признаков для кодирования one-hot.
- sparsebool, по умолчанию=True
-
Признаки ли создавать scipy.sparse матрицы.
- sortbool, по умолчанию=True
-
Нужно ли
feature_names_иvocabulary_сортировать при подгонке.
- Атрибуты:
-
- vocabulary_dict
-
Словарь, сопоставляющий имена признаков с индексами признаков.
- feature_names_list
-
Список длиной n_features, содержащий имена признаков (например, «f=ham» и «f=spam»).
См. также
FeatureHasher-
Выполняет векторизацию, используя только хеш-функцию.
sklearn.preprocessing.OrdinalEncoder-
Обрабатывает номинальные/категориальные признаки, закодированные как столбцы произвольных типов данных.
Примеры
>>> from sklearn.feature_extraction import DictVectorizer >>> v = DictVectorizer(sparse=False) >>> D = [{'foo': 1, 'bar': 2}, {'foo': 3, 'baz': 1}] >>> X = v.fit_transform(D) >>> X array([[2., 0., 1.], [0., 1., 3.]]) >>> v.inverse_transform(X) == [{'bar': 2.0, 'foo': 1.0}, ... {'baz': 1.0, 'foo': 3.0}] True >>> v.transform({'foo': 4, 'unseen_feature': 3}) array([[0., 0., 4.]])- fit(X, y=None)[source]
-
Обучает список сопоставлений имя_признака -> индексы.
- Параметры:
-
- XСопоставление или итерируемый по сопоставлениям
-
Словарь(и) или сопоставление(ия) от имён признаков (произвольные объекты Python) к значениям признаков (строки или преобразуемые к dtype).
Изменено в версии 0.24: Принимает несколько строковых значений для одного категориального признака.
- y(игнорируется)
-
Игнорируемый параметр.
- Возвращает:
-
- selfобъект
-
Экземпляр класса DictVectorizer.
- fit_transform(X, y=None)[source]
-
Обучает список сопоставлений имя_признака -> индексы и преобразует X.
Аналогично fit(X), после чего transform(X), но не требует материализации X в памяти.
- Параметры:
-
- XСопоставление или итерируемый по сопоставлениям
-
Словарь(и) или сопоставление(ия) от имён признаков (произвольные объекты Python) к значениям признаков (строки или преобразуемые к dtype).
Изменено в версии 0.24: Принимает несколько строковых значений для одного категориального признака.
- y(игнорируется)
-
Игнорируемый параметр.
- Возвращает:
-
- Xa{array, sparse matrix}
-
Векторы признаков; всегда 2-мерные.
- get_feature_names_out(input_features=None)[source]
-
Получить имена выходных признаков для преобразования.
- Параметры:
-
- input_featuresarray-like из str или None, по умолчанию=None
-
Не используется, присутствует здесь для совместимости API по умолчанию.
- Возвращает:
-
- feature_names_outndarray из str объектов
-
Имена преобразованных признаков.
- get_metadata_routing()[source]
-
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, ознакомьтесь с Руководством пользователя о том, как работает механизм маршрутизации.
- Возвращает:
-
- routingMetadataRequest
-
Объект
MetadataRequest, содержащий информацию о маршрутизации.
- get_params(deep=True)[source]
-
Получить параметры для этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, вернёт параметры для данного оценщика и содержащихся подобъектов, которые являются оценщиками.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные со значениями.
- inverse_transform(X, dict_type=<class 'dict'>)[source]
-
Преобразование массива или разреженной матрицы X обратно в сопоставления признаков.
X должен быть получен с помощью метода transform или fit_transform данного DictVectorizer; он мог пройти только через преобразователи, которые сохраняют количество признаков и их порядок.
В случае кодирования one-hot/one-of-K возвращаются сконструированные имена и значения признаков, а не исходные.
- Параметры:
-
- X{array-like, разреженная матрица} формы (n_samples, n_features)
-
Матрица выборок.
- dict_typeтип, по умолчанию=dict
-
Конструктор для сопоставлений признаков. Должен соответствовать API collections.Mapping.
- Возвращаемое значение:
-
- Dсписок объектов dict_type формы (n_samples,)
-
Сопоставления признаков для выборок в X.
- restrict(support, indices=False)[source]
-
Ограничение признаков теми, что в support с помощью отбора признаков.
Эта функция изменяет оценщик на месте.
- Параметры:
-
- supportarray-like
-
Булево массив или список индексов (как возвращает метод get_support селекторов признаков).
- indicesbool, по умолчанию=False
-
Является ли support списком индексов.
- Возвращаемое значение:
-
- selfобъект
-
Экземпляр класса DictVectorizer.
Примеры
>>> from sklearn.feature_extraction import DictVectorizer >>> from sklearn.feature_selection import SelectKBest, chi2 >>> v = DictVectorizer() >>> D = [{'foo': 1, 'bar': 2}, {'foo': 3, 'baz': 1}] >>> X = v.fit_transform(D) >>> support = SelectKBest(chi2, k=2).fit(X, [0, 1]) >>> v.get_feature_names_out() array(['bar', 'baz', 'foo'], ...) >>> v.restrict(support.get_support()) DictVectorizer() >>> v.get_feature_names_out() array(['bar', 'foo'], ...)
- set_output(*, transform=None)[source]
-
Установка контейнера вывода.
См. Введение в API set_output для примера использования API.
- Параметры:
-
- transform{“default”, “pandas”, “polars”}, по умолчанию=None
-
Настройка вывода
transformиfit_transform.-
"default": Формат вывода по умолчанию трансформатора -
"pandas": Вывод в DataFrame -
"polars": Вывод в Polars -
None: Настройка преобразования не изменяется
Добавлен в версии 1.4:
"polars"вариант был добавлен. -
- Возвращаемое значение:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- set_params(**params)[source]
-
Установить параметры этого оценщика.
Метод работает как с простыми оценщиками, так и с вложенными объектами (такими как
Pipeline). Последние имеют параметры вида<component>__<parameter>, чтобы можно было обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценщика.
- Возвращаемое значение:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- transform(X)[source]
-
Преобразование словарей признак->значение в массив или разреженную матрицу.
Имена признаков, не встречавшиеся во время fit или fit_transform, будут проигнорированы.
- Параметры:
-
- Xотображение или итерируемый по отображениям формы (n_samples,)
-
Словарь(и) или отображение(я) из имен признаков (произвольные Python-объекты) в значения признаков (строки или преобразуемые к типу данных).
- Возвращаемое значение:
-
- Xa{массив, разреженная матрица}
-
Вектора признаков; всегда 2-мерный.
Примеры галереи
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.feature_extraction.DictVectorizer.html