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": Вывод PolarsNone: Конфигурация преобразования не изменена
Добавлено в версии 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}
Векторы признаков; всегда двумерные.
Примеры галереи#
Трансформер столбцов с разнородными источниками данных