Spec-Zone.ru › scikit-learn

MultiLabelBinarizer

classsklearn.preprocessing.MultiLabelBinarizer(*, classes=None, sparse_output=False)[source]

Преобразует итерируемый объект из итерируемых объектов в формат с несколькими метками.

Хотя список множеств или кортежей — очень интуитивно понятный формат для данных с несколькими метками, его неудобно обрабатывать. Этот преобразователь выполняет преобразование между этим интуитивно понятным форматом и поддерживаемым форматом с несколькими метками: бинарной матрицей (количество образцов × количество классов), указывающей на наличие метки класса.

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

Параметры:
classesarray-like of shape (n_classes,), default=None

Задает порядок меток классов. Все элементы должны быть уникальными (дубликаты классов не допускаются).

sparse_outputbool, default=False

Установите значение True, если выходной бинарный массив должен иметь разреженный формат CSR.

Атрибуты:
classes_ndarray of shape (n_classes,)

Копия параметра classes, если он задан. В противном случае соответствует отсортированному набору классов, найденных при обучении.

См. также

OneHotEncoder

Кодирует категориальные признаки с помощью схемы one-hot (также называемой one-of-K).

Примеры

>>> from sklearn.preprocessing import MultiLabelBinarizer
>>> mlb = MultiLabelBinarizer()
>>> mlb.fit_transform([(1, 2), (3,)])
array([[1, 1, 0],
       [0, 0, 1]])
>>> mlb.classes_
array([1, 2, 3])
>>> mlb.fit_transform([{'sci-fi', 'thriller'}, {'comedy'}])
array([[0, 1, 1],
       [1, 0, 0]])
>>> list(mlb.classes_)
['comedy', 'sci-fi', 'thriller']

Распространенная ошибка — передать список, что приводит к следующей проблеме:

>>> mlb = MultiLabelBinarizer()
>>> mlb.fit(['sci-fi', 'thriller', 'comedy'])
MultiLabelBinarizer()
>>> mlb.classes_
array(['-', 'c', 'd', 'e', 'f', 'h', 'i', 'l', 'm', 'o', 'r', 's', 't',
    'y'], dtype=object)

Чтобы исправить это, список меток следует передать следующим образом:

>>> mlb = MultiLabelBinarizer()
>>> mlb.fit([['sci-fi', 'thriller', 'comedy']])
MultiLabelBinarizer()
>>> mlb.classes_
array(['comedy', 'sci-fi', 'thriller'], dtype=object)
fit(y)[source]

Обучает бинаризатор наборов меток, сохраняя classes_.

Параметры:
yiterable of iterables

Набор меток (любые упорядочиваемые и хешируемые объекты) для каждого образца. Если задан параметр classes, y не будет перебираться.

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

Обученный оценщик.

fit_transform(y)[source]

Обучает бинаризатор наборов меток и преобразует переданные наборы меток.

Параметры:
yiterable of iterables

Набор меток (любые упорядочиваемые и хешируемые объекты) для каждого образца. Если задан параметр classes, y не будет перебираться.

Возвращает:
y_indicator{ndarray, sparse matrix} of shape (n_samples, n_classes)

Матрица, в которой y_indicator[i, j] = 1 тогда и только тогда, когда classes_[j] входит в y[i], и 0 в противном случае. Разреженная матрица будет иметь формат CSR.

get_metadata_routing()[source]

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

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

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

MetadataRequest, содержащий информацию о маршрутизации.

get_params(deep=True)[source]

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

Параметры:
deepbool, default=True

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

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

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

inverse_transform(yt)[source]

Преобразует переданную матрицу индикаторов в наборы меток.

Параметры:
yt{ndarray, sparse matrix} of shape (n_samples, n_classes)

Матрица, содержащая только 1 и 0.

Возвращает:
y_originallist of tuples

Набор меток для каждого образца, где y[i] состоит из classes_[j] для каждого yt[i, j] == 1.

set_output(*, transform=None)[source]

Задает контейнер выходных данных.

Дополнительные сведения см. в руководстве пользователя, а пример использования API — в разделе Знакомство с API set_output.

Параметры:
transform{“default”, “pandas”, “polars”}, default=None

Настраивает формат выходных данных для transform и fit_transform.

  • "default": Формат выходных данных преобразователя по умолчанию
  • "pandas": Выходные данные в виде DataFrame
  • "polars": Выходные данные в формате Polars
  • None: Конфигурация преобразования остается без изменений

Добавлено в версии 1.4: Добавлен параметр "polars".

Возвращает:
selfestimator instance

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

set_params(**params)[source]

Задает параметры этого оценщика.

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

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

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

Возвращает:
selfestimator instance

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

transform(y)[source]

Преобразует переданные наборы меток.

Параметры:
yiterable of iterables

Набор меток (любые упорядочиваемые и хешируемые объекты) для каждого образца. Если задан параметр classes, y не будет перебираться.

Возвращает:
y_indicatorarray or CSR matrix, shape (n_samples, n_classes)

Матрица, в которой y_indicator[i, j] = 1 тогда и только тогда, когда classes_[j] входит в y[i], и 0 в противном случае.

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.preprocessing.MultiLabelBinarizer.html

Spec-Zone.ru

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