Spec-Zone.ru › scikit-learn

LabelBinarizer

classsklearn.preprocessing.LabelBinarizer(*, neg_label=0, pos_label=1, sparse_output=False)[исходный код]

Бинаризует метки по схеме «один против всех».

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

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

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

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

Параметры:
neg_labelint, default=0

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

pos_labelint, default=1

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

sparse_outputbool, default=False

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

Атрибуты:
classes_ndarray of shape (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]])

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

>>> 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)[исходный код]

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

Параметры:
yndarray of shape (n_samples,) or (n_samples, n_classes)

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

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

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

fit_transform(y)[исходный код]

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

Результат transform иногда называют схемой кодирования «один из K».

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

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

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

Для задач бинарной классификации форма будет равна (n_samples, 1). Разреженная матрица будет иметь формат CSR.

get_metadata_routing()[исходный код]

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

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

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

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

get_params(deep=True)[исходный код]

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

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

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

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

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

inverse_transform(Y, threshold=None)[исходный код]

Преобразует бинарные метки обратно в многоклассовые.

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

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

thresholdfloat, default=None

Порог, используемый в задачах бинарной и многометочной классификации.

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

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

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

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

Примечания

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

set_inverse_transform_request(*, threshold:bool|None|str='$UNCHANGED$') → LabelBinarizer[исходный код]

Настраивает, следует ли запрашивать передачу метаданных в метод inverse_transform.

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

Для каждого параметра доступны следующие варианты:

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

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

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

Параметры:
thresholdstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Настройка маршрутизации метаданных для параметра threshold в inverse_transform.

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

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

set_output(*, transform=None)[исходный код]

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

Подробнее см. в руководстве пользователя, а пример использования 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)[исходный код]

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

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

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

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

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

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

transform(y)[исходный код]

Преобразует многоклассовые метки в бинарные.

Некоторые авторы также называют результат transform схемой кодирования «один из K».

Параметры:
y{array, sparse matrix} of shape (n_samples,) or (n_samples, n_classes)

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

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

Для задач бинарной классификации форма будет равна (n_samples, 1). Разреженная матрица будет иметь формат CSR.

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

Многоклассовая характеристика работы приёмника (ROC)

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

Spec-Zone.ru

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