DictVectorizer#

класс sklearn.feature_extraction.DictVectorizer(*, dtype= 'numpy.float64'>, separator='=', sparse=True, sort=True)[источник]#

Преобразует списки сопоставлений признак-значение в векторы.

Этот преобразователь превращает списки отображений (объектов, подобных словарям) имен признаков в значения признаков в массивы Numpy или разреженные матрицы scipy.sparse для использования с оценщиками scikit-learn.

Когда значения признаков являются строками, этот преобразователь выполняет бинарное one-hot (также известное как one-of-K) кодирование: один булев признак создается для каждого из возможных строковых значений, которые может принимать признак. Например, признак "f", который может принимать значения "ham" и "spam", станет двумя признаками на выходе: один означает "f=ham", другой "f=spam".

Если значение признака является последовательностью или набором строк, этот преобразователь будет перебирать значения и подсчитывать вхождения каждой строки.

Однако обратите внимание, что этот трансформер будет выполнять только бинарное one-hot кодирование, когда значения признаков имеют тип string. Если категориальные признаки представлены как числовые значения, такие как int или итерируемые строки, DictVectorizer может быть дополнен OneHotEncoder для завершения бинарного one-hot кодирования.

Признаки, которые не встречаются в выборке (отображении), будут иметь нулевое значение в результирующем массиве/матрице.

Для сравнения эффективности различных экстракторов признаков см. Сравнение FeatureHasher и DictVectorizer.

Подробнее в Руководство пользователя.

Параметры:
dtypedtype, default=np.float64

Тип значений признаков. Передается в конструкторы массивов Numpy/разреженных матриц scipy как аргумент dtype.

разделительstr, по умолчанию=”=”

Строка-разделитель, используемая при создании новых признаков для one-hot кодирования.

разреженныйbool, по умолчанию=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)[источник]#

Изучает список соответствий имен признаков -> индексы.

Параметры:
XMapping или итерируемый объект над Mappings

Словарь(и) или отображение(я) от имен признаков (произвольных объектов Python) к значениям признаков (строки или преобразуемые в dtype).

Изменено в версии 0.24: Принимает несколько строковых значений для одной категориальной переменной.

y(игнорируется)

Игнорируемый параметр.

Возвращает:
selfobject

Экземпляр класса DictVectorizer.

fit_transform(X, y=None)[источник]#

Изучает список сопоставлений имени признака -> индексы и преобразует X.

Как fit(X), за которым следует transform(X), но не требует материализации X в памяти.

Параметры:
XMapping или итерируемый объект над Mappings

Словарь(и) или отображение(я) от имен признаков (произвольных объектов Python) к значениям признаков (строки или преобразуемые в dtype).

Изменено в версии 0.24: Принимает несколько строковых значений для одной категориальной переменной.

y(игнорируется)

Игнорируемый параметр.

Возвращает:
Xa{array, sparse matrix}

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

get_feature_names_out(input_features=None)[источник]#

Получить имена выходных признаков для преобразования.

Параметры:
input_featuresarray-like из str или None, по умолчанию=None

Не используется, присутствует здесь для согласованности API по соглашению.

Возвращает:
feature_names_outndarray из str объектов

Преобразованные имена признаков.

6332()[источник]#

Получить маршрутизацию метаданных этого объекта.

Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.

Возвращает:
маршрутизацияMetadataRequest

A MetadataRequest Инкапсуляция информации о маршрутизации.

get_params(глубокий=True)[источник]#

Получить параметры для этого оценщика.

Параметры:
глубокийbool, по умолчанию=True

Если True, вернет параметры для этого оценщика и вложенных подобъектов, которые являются оценщиками.

Возвращает:
paramsdict

Имена параметров, сопоставленные с их значениями.

inverse_transform(X, dict_type= 'dict'>)[источник]#

Преобразовать массив или разреженную матрицу X обратно в отображения признаков.

X должен быть получен методом transform или fit_transform этого DictVectorizer; он может быть пропущен только через преобразователи, которые сохраняют количество признаков и их порядок.

В случае one-hot/one-of-K кодирования возвращаются сконструированные имена и значения признаков, а не исходные.

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

Матрица образцов.

dict_typetype, по умолчанию=dict

Конструктор для отображений признаков. Должен соответствовать API collections.Mapping.

Возвращает:
X_originalсписок объектов dict_type формы (n_samples,)

Отображения признаков для образцов в X.

ограничить(поддержка, индексы=False)[источник]#

Ограничить признаки теми, что в поддержке, с помощью отбора признаков.

Эта функция изменяет оценщик на месте.

Параметры:
поддержкаarray-like

Булева маска или список индексов (как возвращается членом get_support селекторов признаков).

индексыbool, по умолчанию=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(*, преобразовать=None)[источник]#

Установить контейнер вывода.

См. Введение API set_output для примера использования API.

Параметры:
преобразовать{“default”, “pandas”, “polars”}, по умолчанию=None

Настройка вывода transform и fit_transform.

  • "default": Формат вывода трансформера по умолчанию

  • "pandas": DataFrame вывод

  • "polars": Вывод Polars

  • None: Конфигурация преобразования не изменена

Добавлено в версии 1.4: "polars" опция была добавлена.

Возвращает:
selfэкземпляр estimator

Экземпляр оценщика.

set_params(**params)[источник]#

Установить параметры этого оценщика.

Метод работает как на простых оценщиках, так и на вложенных объектах (таких как Pipeline). Последние имеют параметры вида __ чтобы можно было обновить каждый компонент вложенного объекта.

Параметры:
**paramsdict

Параметры оценщика.

Возвращает:
selfэкземпляр estimator

Экземпляр оценщика.

преобразовать(X)[источник]#

Преобразовать словари признак->значение в массив или разреженную матрицу.

Именованные признаки, не встреченные во время fit или fit_transform, будут тихо проигнорированы.

Параметры:
XОтображение или итерируемый объект над отображениями формы (n_samples,)

Словарь(и) или отображение(я) от имен признаков (произвольных объектов Python) к значениям признаков (строки или преобразуемые в dtype).

Возвращает:
Xa{array, sparse matrix}

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