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