MultiLabelBinarizer
- classsklearn.preprocessing.MultiLabelBinarizer(*, classes=None, sparse_output=False)[source]
-
Преобразование между итерируемыми списками итерируемых объектов и многомерным форматом.
Хотя список множеств или кортежей — очень интуитивный формат для данных с множественной меткой, он неудобен для обработки. Этот преобразователь преобразует этот интуитивный формат в поддерживаемый формат многомерных меток: двоичную матрицу (образец x класс), указывающую на наличие метки класса.
- Параметры:
-
- classesпоследовательность из n_classes элементов, по умолчанию=None
-
Указывает порядок меток класса. Все элементы должны быть уникальными (нельзя включать дублирующиеся классы).
- sparse_outputbool, по умолчанию=False
-
Устанавливается в значение True, если выходной двоичный массив должен быть в формате разреженной матрицы CSR.
- Атрибуты:
-
- classes_массив NumPy формы (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_.
- Параметры:
-
- yитерируемый список итерируемых объектов
-
Набор меток (любой упорядочиваемый и хешируемый объект) для каждого образца. Если параметр
classesустановлен,yне будет итерироваться.
- Возвращаемые значения:
-
- selfобъект
-
Обученная модель.
- fit_transform(y)[source]
-
Обучение бинаризатора набора меток и преобразование заданных наборов меток.
- Параметры:
-
- yитерируемый список итерируемых объектов
-
Набор меток (любой упорядочиваемый и хешируемый объект) для каждого образца. Если параметр
classesустановлен,yне будет итерироваться.
- Возвращаемые значения:
-
- y_indicator{массив NumPy, разреженная матрица} формы (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, по умолчанию=True
-
Если True, возвращаются параметры для данного оценивателя и вложенных под-объектов, являющихся оценивателями.
- Возвращаемые значения:
-
- paramsсловарь
-
Имена параметров, сопоставленные с их значениями.
- inverse_transform(yt)[source]
-
Преобразование заданной индикаторной матрицы в наборы меток.
- Параметры:
-
- yt{массив NumPy, разреженная матрица} формы (n_samples, n_classes)
-
Матрица, содержащая только 1 и 0.
- Возвращаемые значения:
-
- yсписок кортежей
-
Набор меток для каждого образца, такой что
y[i]состоит изclasses_[j]для каждогоyt[i, j] == 1.
- set_output(*, transform=None)[source]
-
Установить контейнер для вывода.
См. Вводное руководство по API set_output, чтобы узнать как использовать API.
- Параметры:
-
- transform{“default”, “pandas”, “polars”}, по умолчанию=None
-
Настройка вывода для
transformиfit_transform.-
"default": Формат вывода по умолчанию для преобразователя -
"pandas": Вывод в формате DataFrame -
"polars": Вывод в формате Polars -
None: Настройка преобразования не меняется
Добавлен в версии 1.4: Вариант
"polars"был добавлен. -
- Возвращаемые значения:
-
- selfэкземпляр оценивателя
-
Экземпляр оценивателя.
- set_params(**params)[source]
-
Установить параметры этого оценивателя.
Метод работает как с простыми оценивателями, так и с вложенными объектами (например,
Pipeline). Последние имеют параметры в формате<component>__<parameter>, что позволяет обновить каждый компонент вложенного объекта.- Параметры:
-
- **paramsсловарь
-
Параметры оценивателя.
- Возвращаемые значения:
-
- selfэкземпляр оценивателя
-
Экземпляр оценивателя.
- transform(y)[source]
-
Преобразовать заданные наборы меток.
- Параметры:
-
- yитерируемый из итерируемых объектов
-
Набор меток (любой упорядоченный и хешируемый объект) для каждой выборки. Если параметр
classesустановлен,yне будут итерироваться.
- Возвращаемые значения:
-
- y_indicatorмассив или CSR-матрица, форма (n_samples, n_classes)
-
Матрица, такая что
y_indicator[i, j] = 1тогда и только тогда, когдаclasses_[j]находится вy[i], и 0 в противном случае.
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.preprocessing.MultiLabelBinarizer.html