LabelBinarizer#

класс sklearn.preprocessing.LabelBinarizer(*, neg_label=0, pos_label=1, sparse_output=False)[источник]#

Бинаризация меток в формате one-vs-all.

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

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

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

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

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

Значение, которым должны быть закодированы отрицательные метки.

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

Значение, которым должны быть закодированы положительные метки.

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

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

Атрибуты:
classes_ndarray формы (n_classes,)

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

y_type_str

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

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

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)[источник]#

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

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

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

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

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

fit_transform(y)[источник]#

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

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

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

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

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

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

6332()[источник]#

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

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

Возвращает:
маршрутизацияMetadataRequest

A MetadataRequest Инкапсуляция информации о маршрутизации.

get_params(глубокий=True)[источник]#

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

Параметры:
глубокийbool, по умолчанию=True

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

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

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

inverse_transform(Y, порог=None)[источник]#

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

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

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

порогfloat, по умолчанию=None

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

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

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

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

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

Примечания

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

set_inverse_transform_request(*, порог: 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.

Параметры:
порогstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED

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

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

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

set_output(*, преобразовать=None)[источник]#

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

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

Параметры:
преобразовать{“default”, “pandas”, “polars”}, по умолчанию=None

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

  • "default": Формат вывода трансформера по умолчанию

  • "pandas": DataFrame вывод

  • "polars": Вывод Polars

  • None: Конфигурация преобразования не изменена

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

Возвращает:
selfэкземпляр estimator

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

set_params(**params)[источник]#

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

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

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

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

Возвращает:
selfэкземпляр estimator

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

преобразовать(y)[источник]#

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

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

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

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

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

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