Spec-Zone.ru › scikit-learn

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{массив, разреженная матрица}

Векторы признаков; всегда двумерные.

Примеры из галереи

Преобразователь столбцов для разнородных источников данных

Сравнение FeatureHasher и DictVectorizer

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API