Spec-Zone.ru › scikit-learn

LabelBinarizer

classsklearn.preprocessing.LabelBinarizer(*, neg_label=0, pos_label=1, sparse_output=False)[source]

Бинаризуйте метки в стиле один-против-всех.

В scikit-learn доступны несколько алгоритмов регрессии и бинарной классификации. Простой способ расширить эти алгоритмы на случай многоклассовой классификации — использовать схему один-против-всех.

На этапе обучения это просто означает обучение одного регрессора или бинарного классификатора на каждый класс. При этом необходимо преобразовать метки многоклассовой задачи в бинарные метки (принадлежит или не принадлежит классу). LabelBinarizer упрощает этот процесс с помощью метода transform.

На этапе предсказания класс присваивается на основе модели, которая показала наибольшую уверенность. LabelBinarizer упрощает это с помощью метода inverse_transform.

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

Параметры:
neg_labelint, по умолчанию=0

Значение, с помощью которого кодируются отрицательные метки.

pos_labelint, по умолчанию=1

Значение, с помощью которого кодируются положительные метки.

sparse_outputbool, по умолчанию=False

True, если возвращаемый массив из метода transform должен быть в формате разреженной матрицы CSR.

Атрибуты:
classes_массив формы (n_classes,)

Содержит метку для каждого класса.

y_type_str

Представляет тип целевых данных, как оценивается функцией type_of_target. Возможные типы: ‘continuous’, ‘continuous-multioutput’, ‘binary’, ‘multiclass’, ‘multiclass-multioutput’, ‘multilabel-indicator’ и ‘unknown’.

sparse_input_bool
True если входные данные для метода transform заданы как разреженная матрица,

False в противном случае.

См. также

label_binarize

Функция для выполнения операции преобразования LabelBinarizer с фиксированными классами.

OneHotEncoder

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

Примеры

>>> from sklearn.preprocessing import LabelBinarizer
>>> lb = LabelBinarizer()
>>> lb.fit([1, 2, 6, 4, 2])
LabelBinarizer()
>>> lb.classes_
array([1, 2, 4, 6])
>>> lb.transform([1, 6])
array([[1, 0, 0, 0],
       [0, 0, 0, 1]])

Бинарные целевые значения преобразуются в вектор-столбец

>>> lb = LabelBinarizer()
>>> lb.fit_transform(['yes', 'no', 'no', 'yes'])
array([[1],
       [0],
       [0],
       [1]])

Передача 2D-матрицы для многомерной классификации

>>> import numpy as np
>>> lb.fit(np.array([[0, 1, 1], [1, 0, 0]]))
LabelBinarizer()
>>> lb.classes_
array([0, 1, 2])
>>> lb.transform([0, 1, 2, 1])
array([[1, 0, 0],
       [0, 1, 0],
       [0, 0, 1],
       [0, 1, 0]])
fit(y)[source]

Обучение бинаризатора меток.

Параметры:
yмассив формы (n_samples,) или (n_samples, n_classes)

Целевые значения. 2-мерная матрица должна содержать только 0 и 1, представляет многомерную классификацию.

Возвращает:
selfобъект

Возвращает экземпляр самого себя.

fit_transform(y)[source]

Обучение бинаризатора меток/преобразование меток многоклассовой задачи в бинарные метки.

Результат преобразования иногда называется кодированием 1-из-K.

Параметры:
y{массив, разреженная матрица} формы (n_samples,) или (n_samples, n_classes)

Целевые значения. 2-мерная матрица должна содержать только 0 и 1, представляет многомерную классификацию. Разреженная матрица может быть CSR, CSC, COO, DOK или LIL.

Возвращает:
Y{массив, разреженная матрица} формы (n_samples, n_classes)

Форма будет (n_samples, 1) для бинарных задач. Разреженная матрица будет в формате CSR.

get_metadata_routing()[source]

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

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

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

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

get_params(deep=True)[source]

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

Параметры:
deepbool, по умолчанию=True

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

Возвращает:
paramsсловарь

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

inverse_transform(Y, threshold=None)[source]

Преобразовать бинарные метки обратно в метки многоклассовой задачи.

Параметры:
Y{массив, разреженная матрица} формы (n_samples, n_classes)

Целевые значения. Все разреженные матрицы преобразуются в формат CSR перед обратным преобразованием.

thresholdfloat, по умолчанию=None

Пороговое значение, используемое в бинарных и многомерных случаях.

Используйте 0, когда Y содержит выход decision_function (классификатор). Используйте 0.5, когда Y содержит выход predict_proba.

Если None, пороговое значение предполагается равным середине между neg_label и pos_label.

Возвращает:
y{массив, разреженная матрица} формы (n_samples,)

Целевые значения. Разреженная матрица будет в формате CSR.

Примечания

В случае дробных (вероятностных) бинарных меток inverse_transform выбирает класс с наибольшим значением. Обычно это позволяет использовать выход метода decision_function линейной модели непосредственно как вход для inverse_transform.

END_OF_DOCUMENT_MARKER
set_inverse_transform_request(*, threshold:bool|None|str='$UNCHANGED$') → LabelBinarizer[source]

Запрос метаданных, передаваемый методу inverse_transform.

Обратите внимание, что этот метод актуален только если enable_metadata_routing=True (см. sklearn.set_config). Пожалуйста, обратитесь к Руководству пользователя для получения информации о механизме маршрутизации.

Варианты для каждого параметра:

  • True: запрашиваются метаданные, и, если предоставлены, передаются в inverse_transform. Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются, и мета-оценщик не передаст их в inverse_transform.
  • None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь их предоставит.
  • str: метаданные должны передаваться мета-оценщику с этим псевдонимом вместо оригинального названия.

По умолчанию (sklearn.utils.metadata_routing.UNCHANGED) сохраняется существующий запрос. Это позволяет изменить запрос для некоторых параметров, а не для других.

Добавлен в версии 1.3.

Примечание

Этот метод актуален только в том случае, если этот оценщик используется в качестве под-оценщика мета-оценщика, например, внутри Pipeline. В противном случае он не имеет эффекта.

Parameters:
thresholdstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Маршрутизация метаданных для параметра threshold в inverse_transform.

Returns:
selfobject

Обновленный объект.

set_output(*, transform=None)[source]

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

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

Parameters:
transform{“default”, “pandas”, “polars”}, default=None

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

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

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

Returns:
selfestimator instance

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

set_params(**params)[source]

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

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

Parameters:
**paramsdict

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

Returns:
selfestimator instance

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

transform(y)[source]

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

Выходной результат transform иногда обозначается в литературе как схема кодирования 1-из-K.

Parameters:
y{array, sparse matrix} of shape (n_samples,) or (n_samples, n_classes)

Целевые значения. 2-мерная матрица должна содержать только 0 и 1, представляет многоклассовую классификацию. Разреженная матрица может быть CSR, CSC, COO, DOK или LIL.

Returns:
Y{ndarray, sparse matrix} of shape (n_samples, n_classes)

Форма будет (n_samples, 1) для бинарных задач. Разреженная матрица будет в формате CSR.

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

Кривая ROC для многоклассовой классификации

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

Spec-Zone.ru

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