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": Вывод PolarsNone: Конфигурация преобразования не изменена
Добавлено в версии 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.
Примеры галереи#
Многоклассовая рабочая характеристика приемника (ROC)