DictVectorizer
- classsklearn.feature_extraction.DictVectorizer(*, dtype=<class 'numpy.float64'>, separator='=', sparse=True, sort=True)[исходный код]
-
Преобразует списки отображений «признак — значение» в векторы.
Этот преобразователь преобразует списки отображений (объектов, подобных словарям), связывающих имена признаков со значениями признаков, в массивы Numpy или разреженные матрицы scipy.sparse для использования с оценщиками scikit-learn.
Если значения признаков являются строками, преобразователь выполняет двоичное one-hot-кодирование (также называемое кодированием «один из K»): для каждого возможного строкового значения признака создаётся отдельный признак с булевым значением. Например, признак «f», который может принимать значения «ham» и «spam», превратится в два выходных признака: один обозначает «f=ham», другой — «f=spam».
Если значение признака является последовательностью или множеством строк, преобразователь перебирает эти значения и подсчитывает количество вхождений каждой строки.
Однако учтите, что этот преобразователь выполняет двоичное one-hot-кодирование только для значений признаков строкового типа. Если категориальные признаки представлены числовыми значениями, например int, или итерируемыми объектами со строками, после DictVectorizer можно использовать
OneHotEncoder, чтобы завершить двоичное one-hot-кодирование.Признаки, отсутствующие в выборке (отображении), будут иметь нулевое значение в результирующем массиве/матрице.
Сравнение эффективности различных экстракторов признаков см. в разделе Сравнение FeatureHasher и DictVectorizer.
Подробнее см. в руководстве пользователя.
- Параметры:
-
- dtypedtype, по умолчанию=np.float64
-
Тип значений признаков. Передаётся конструкторам массива Numpy/матрицы scipy.sparse в качестве аргумента dtype.
- separatorstr, по умолчанию=”=”
-
Строка-разделитель, используемая при создании новых признаков для one-hot-кодирования.
- sparsebool, по умолчанию=True
-
Определяет, должен ли метод transform возвращать разреженные матрицы 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)[исходный код]
-
Обучает список отображений «имя признака → индекс».
- Параметры:
-
- XОтображение или итерируемый объект с отображениями
-
Словарь(и) или отображение(я), сопоставляющие имена признаков (произвольные объекты Python) значениям признаков (строки или значения, преобразуемые к dtype).
Изменено в версии 0.24: Допускает несколько строковых значений для одного категориального признака.
- y(игнорируется)
-
Игнорируемый параметр.
- Возвращает:
-
- selfobject
-
Экземпляр класса DictVectorizer.
- fit_transform(X, y=None)[исходный код]
-
Обучает список отображений «имя признака → индекс» и преобразует X.
Эквивалентно вызову fit(X), за которым следует transform(X), но не требует загрузки X целиком в память.
- Параметры:
-
- XОтображение или итерируемый объект с отображениями
-
Словарь(и) или отображение(я), сопоставляющие имена признаков (произвольные объекты Python) значениям признаков (строки или значения, преобразуемые к dtype).
Изменено в версии 0.24: Допускает несколько строковых значений для одного категориального признака.
- y(игнорируется)
-
Игнорируемый параметр.
- Возвращает:
-
- Xa{массив, разреженная матрица}
-
Векторы признаков; всегда двумерные.
- get_feature_names_out(input_features=None)[исходный код]
-
Получает имена выходных признаков для преобразования.
- Параметры:
-
- input_featuresмассивоподобный объект из строк или None, по умолчанию=None
-
Не используется; присутствует здесь для согласованности API по соглашению.
- Возвращает:
-
- feature_names_outndarray из объектов str
-
Имена преобразованных признаков.
- get_metadata_routing()[исходный код]
-
Получает маршрутизацию метаданных этого объекта.
О том, как работает механизм маршрутизации, см. в руководстве пользователя.
- Возвращает:
-
- routingMetadataRequest
-
MetadataRequest, содержащий информацию о маршрутизации.
- get_params(deep=True)[исходный код]
-
Получает параметры этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, возвращает параметры этого оценщика и содержащихся в нём подобъектов, которые являются оценщиками.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные их значениям.
- inverse_transform(X, dict_type=<class 'dict'>)[исходный код]
-
Преобразует массив или разреженную матрицу X обратно в отображения признаков.
X должен быть получен методом transform или fit_transform этого DictVectorizer; он мог проходить только через преобразователи, сохраняющие количество признаков и их порядок.
При one-hot-кодировании/кодировании «один из K» возвращаются созданные имена и значения признаков, а не исходные.
- Параметры:
-
- X{массивоподобный объект, разреженная матрица} формы (n_samples, n_features)
-
Матрица выборки.
- dict_typetype, по умолчанию=dict
-
Конструктор для отображений признаков. Должен соответствовать API collections.Mapping.
- Возвращает:
-
- X_originalсписок объектов dict_type формы (n_samples,)
-
Отображения признаков для образцов в X.
- restrict(support, indices=False)[исходный код]
-
Оставляет только признаки из support, используя отбор признаков.
Эта функция изменяет оценщик на месте.
- Параметры:
-
- supportмассивоподобный объект
-
Булева маска или список индексов (возвращаемый методом get_support селекторов признаков).
- indicesbool, по умолчанию=False
-
Определяет, является ли support списком индексов.
- Возвращает:
-
- selfobject
-
Экземпляр класса 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)[исходный код]
-
Задаёт контейнер выходных данных.
Подробнее см. в руководстве пользователя, а пример использования API приведён в разделе Знакомство с API set_output.
- Параметры:
-
- transform{“default”, “pandas”, “polars”}, по умолчанию=None
-
Настраивает выходные данные
transformиfit_transform.-
"default": Формат выходных данных преобразователя по умолчанию -
"pandas": Выходные данные в формате DataFrame -
"polars": Выходные данные Polars -
None: Конфигурация преобразования остаётся без изменений
Добавлено в версии 1.4: Добавлен параметр
"polars". -
- Возвращает:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- set_params(**params)[исходный код]
-
Задаёт параметры этого оценщика.
Метод работает как с простыми оценщиками, так и с вложенными объектами (например,
Pipeline). У последних параметры имеют вид<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценщика.
- Возвращает:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- transform(X)[исходный код]
-
Преобразует словари «признак → значение» в массив или разреженную матрицу.
Именованные признаки, не встречавшиеся при вызове fit или fit_transform, будут без предупреждения проигнорированы.
- Параметры:
-
- XОтображение или итерируемый объект с отображениями формы (n_samples,)
-
Словарь(и) или отображение(я), сопоставляющие имена признаков (произвольные объекты Python) значениям признаков (строки или значения, преобразуемые к dtype).
- Возвращает:
-
- Xa{массив, разреженная матрица}
-
Векторы признаков; всегда двумерные.
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.feature_extraction.DictVectorizer.html