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.
- 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.
Примеры из галереи
© 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