Spec-Zone.ru › scikit-learn

BaggingClassifier

классsklearn.ensemble.BaggingClassifier(estimator=None, n_estimators=10, *, max_samples=1.0, max_features=1.0, bootstrap=True, bootstrap_features=False, oob_score=False, warm_start=False, n_jobs=None, random_state=None, verbose=0)[source]

Бэггинг-классификатор.

Бэггинг-классификатор — это мета-оцениватель ансамбля, который подбирает базовые классификаторы на случайных подмножествах исходного набора данных, а затем агрегирует их индивидуальные прогнозы (путем голосования или усреднения) для получения окончательного прогноза. Такой мета-оцениватель обычно используется для уменьшения дисперсии чёрного ящика-оценивателя (например, дерева решений), вводя случайность в его процедуру построения, а затем создавая ансамбль из него.

Этот алгоритм охватывает несколько работ из литературы. Когда случайные подмножества набора данных выбираются как случайные подмножества выборок, этот алгоритм известен как Пастинг [1]. Если выборки извлекаются с возвращением, метод известен как Бэггинг [2]. Когда случайные подмножества набора данных выбираются как случайные подмножества признаков, этот метод известен как Случайные подпространства [3]. Наконец, когда базовые оцениватели строятся на подмножествах как выборок, так и признаков, этот метод известен как Случайные наборы [4].

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

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

Параметры:
estimatorобъект, по умолчанию = None

Базовый оцениватель для подбора на случайных подмножествах набора данных. Если None, то базовый оцениватель — DecisionTreeClassifier.

Добавлен в версии 1.2: base_estimator было переименовано в estimator.

n_estimatorsцелое число, по умолчанию = 10

Количество базовых оценивателей в ансамбле.

max_samplesцелое число или число с плавающей точкой, по умолчанию = 1.0

Количество выборок для извлечения из X для обучения каждого базового оценивателя (по умолчанию с заменой, см. bootstrap для получения дополнительной информации).

  • Если целое число, то извлечь max_samples выборок.
  • Если число с плавающей точкой, то извлечь max_samples * X.shape[0] выборок.
max_featuresцелое число или число с плавающей точкой, по умолчанию = 1.0

Количество признаков для извлечения из X для обучения каждого базового оценивателя (по умолчанию без замены, см. bootstrap_features для получения дополнительной информации).

  • Если целое число, то извлечь max_features признаков.
  • Если число с плавающей точкой, то извлечь max(1, int(max_features * n_features_in_)) признаков.
bootstrapлогическое значение, по умолчанию = True

Выборка выборок с возвращением. Если False, выборка выполняется без возвращения.

bootstrap_featuresлогическое значение, по умолчанию = False

Признаки выбираются с заменой.

oob_scoreлогическое значение, по умолчанию = False

Использовать ли выборки вне выборки для оценки обобщающей ошибки. Доступно только если bootstrap=True.

warm_startлогическое значение, по умолчанию = False

Если установлено в True, повторно используйте решение предыдущего вызова fit и добавьте больше оценивателей в ансамбль, в противном случае просто обучите новый ансамбль. См. Словарь.

Добавлен в версии 0.17: параметр конструктора warm_start.

n_jobsцелое число, по умолчанию = None

Количество задач, выполняемых параллельно для fit и predict. None означает 1, за исключением контекста joblib.parallel_backend. -1 означает использование всех процессоров. См. Словарь для получения дополнительной информации.

random_stateцелое число, экземпляр RandomState или None, по умолчанию = None

Управляет случайной передискретизацией исходного набора данных (по образцу и по признаку). Если базовый оцениватель принимает атрибут random_state, для каждого экземпляра в ансамбле генерируется другой семя. Передайте целое число для воспроизводимого вывода в нескольких вызовах функций. См. Словарь.

verboseцелое число, по умолчанию = 0

Управляет отображением информации при обучении и прогнозировании.

Атрибуты:
estimator_оцениватель

Базовый оцениватель, из которого выращен ансамбль.

Добавлен в версии 1.2: base_estimator_ было переименовано в estimator_.

n_features_in_целое число

Количество признаков, наблюдаемых во время fit.

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

feature_names_in_массив формы (n_features_in_,)

Имена признаков, наблюдаемых во время fit. Определено только тогда, когда X имеет имена признаков, которые все являются строками.

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

estimators_список оценивателей

Коллекция обученных базовых оценивателей.

estimators_samples_список массивов

Подмножество выбранных выборок для каждого базового оценивателя.

estimators_features_список массивов

Подмножество выбранных признаков для каждого базового оценивателя.

classes_массив формы (n_classes,)

Метки классов.

n_classes_целое число или список

Количество классов.

oob_score_число с плавающей точкой

Оценка обучающего набора данных, полученная с помощью оценки вне выборки. Этот атрибут существует только когда oob_score равно True.

oob_decision_function_массив формы (n_samples, n_classes)

Функция принятия решений, вычисленная с помощью оценки вне выборки на обучающем наборе. Если n_estimators мало, то возможно, что точка данных никогда не была оставлена вне выборки во время выборки с возвращением. В этом случае oob_decision_function_ может содержать NaN. Этот атрибут существует только когда oob_score равно True.

См. также

BaggingRegressor

Бэггинг-регрессор.

Ссылки

[1]

Л. Брейман, «Пастинг маленьких голосов для классификации в больших базах данных и в режиме онлайн», Машинное обучение, 36(1), 85-103, 1999.

[2]

Л. Брейман, «Бэггинг предикторов», Машинное обучение, 24(2), 123-140, 1996.

[3]

Т. Хо, «Метод случайных подпространств для построения лесов решений», Анализ образов и машинное обучение, 20(8), 832-844, 1998.

[4]

Г. Луп и П. Гертс, «Ансамбли на случайных наборах», Машинное обучение и обнаружение знаний в базах данных, 346-361, 2012.

Примеры

>>> from sklearn.svm import SVC
>>> from sklearn.ensemble import BaggingClassifier
>>> from sklearn.datasets import make_classification
>>> X, y = make_classification(n_samples=100, n_features=4,
...                            n_informative=2, n_redundant=0,
...                            random_state=0, shuffle=False)
>>> clf = BaggingClassifier(estimator=SVC(),
...                         n_estimators=10, random_state=0).fit(X, y)
>>> clf.predict([[0, 0, 0, 0]])
array([1])
decision_function(X)[source]

Среднее значение функций принятия решений базовых классификаторов.

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

Входные обучающие образцы. Разреженные матрицы принимаются только если они поддерживаются базовым оценщиком.

Возвращает:
scoreмассив ndarray формы (n_samples, k)

Функция принятия решений для входных образцов. Столбцы соответствуют классам в отсортированном порядке, так как они появляются в атрибуте classes_. Регрессия и бинарная классификация являются частными случаями с k == 1, в противном случае k==n_classes.

свойствоestimators_samples_

Подмножество отобранных образцов для каждого базового оценщика.

Возвращает динамически сгенерированный список индексов, определяющих образцы, используемые для обучения каждого члена ансамбля, т.е. образцы, попавшие в выборку.

Примечание: список пересоздается при каждом обращении к свойству, чтобы уменьшить использование памяти объекта, не храня данные выборки. Таким образом, получение свойства может быть медленнее, чем ожидалось.

fit(X, y, *, sample_weight=None, **fit_params)[source]

Построение ансамбля Bagging оценщиков на основе обучающего набора (X, y).

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

Входные обучающие образцы. Разреженные матрицы принимаются только если они поддерживаются базовым оценщиком.

yмассив формы (n_samples,)

Целевые значения (метки класса в классификации, вещественные числа в регрессии).

sample_weightмассив формы (n_samples,), по умолчанию=None

Веса образцов. Если None, то образцы имеют одинаковый вес. Обратите внимание, что это поддерживается только если базовый оценщик поддерживает взвешивание образцов.

**fit_paramsсловарь

Параметры для передачи базовым оценщикам.

Добавлена в версии 1.5: Доступна только если enable_metadata_routing=True, что можно задать, используя sklearn.set_config(enable_metadata_routing=True). См. Руководство пользователя по маршрутизации метаданных для получения дополнительной информации.

Возвращает:
selfобъект

Обученный оценщик.

get_metadata_routing()[source]

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

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

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

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

MetadataRouter описывающая информацию о маршрутизации.

get_params(deep=True)[source]

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

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

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

Возвращает:
paramsсловарь

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

predict(X)[source]

Предсказание класса для X.

Предсказанный класс входного образца вычисляется как класс с наибольшей средней предсказанной вероятностью. Если базовые оценщики не реализуют метод predict_proba, то используется голосование.

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

Входные обучающие образцы. Разреженные матрицы принимаются только если они поддерживаются базовым оценщиком.

Возвращает:
yмассив ndarray формы (n_samples,)

Предсказанные классы.

predict_log_proba(X)[source]

Предсказание логарифмов вероятностей класса для X.

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

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

Входные обучающие образцы. Разреженные матрицы принимаются только если они поддерживаются базовым оценщиком.

Возвращает:
pмассив ndarray формы (n_samples, n_classes)

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

predict_proba(X)[source]

Предсказание вероятностей класса для X.

Предсказанные вероятности класса для входного образца вычисляются как среднее значение предсказанных вероятностей класса базовых оценщиков в ансамбле. Если базовые оценщики не реализуют метод predict_proba, то используется голосование, и предсказанные вероятности класса для входного образца представляют собой пропорцию оценщиков, предсказывающих каждый класс.

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

Входные обучающие образцы. Разреженные матрицы принимаются только если они поддерживаются базовым оценщиком.

Возвращает:
pмассив ndarray формы (n_samples, n_classes)

Вероятности классов для входных образцов. Порядок классов соответствует порядку в атрибуте classes_.

score(X, y, sample_weight=None)[source]

Возвращает среднюю точность на заданных тестовых данных и метках.

В многоклассовой классификации это точность подмножества, которая является жёстким метрикой, поскольку для каждого образца требуется, чтобы каждый набор меток был предсказан правильно.

Параметры:
Xмассив-подобный формы (n_samples, n_features)

Тестовые образцы.

yмассив-подобный формы (n_samples,) или (n_samples, n_outputs)

Истинные метки для X.

sample_weightмассив-подобный формы (n_samples,), по умолчанию=None

Веса образцов.

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

Средняя точность self.predict(X) по отношению к y.

set_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') → BaggingClassifier[source]

Запрашивает метаданные, передаваемые методу fit.

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

Варианты для каждого параметра:

  • True: метаданные запрашиваются и передаются fit при их наличии. Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются, и мета-оцениватель не передаст их fit.
  • None: метаданные не запрашиваются, и мета-оцениватель выведет ошибку, если пользователь их предоставит.
  • str: метаданные должны быть переданы мета-оценивателю с данным псевдонимом вместо оригинального названия.

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

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

Примечание

Этот метод актуален только в том случае, если этот оцениватель используется в качестве под-оценивателя мета-оценивателя, например, внутри Pipeline. В противном случае он не оказывает влияния.

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

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

Возвращает:
selfобъект

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

set_params(**params)[source]

Устанавливает параметры этого оценивателя.

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

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

Параметры оценивателя.

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

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

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → BaggingClassifier[source]

Запрашивает метаданные, передаваемые методу score.

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

Варианты для каждого параметра:

  • True: метаданные запрашиваются и передаются score при их наличии. Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются, и мета-оцениватель не передаст их score.
  • None: метаданные не запрашиваются, и мета-оцениватель выведет ошибку, если пользователь их предоставит.
  • str: метаданные должны быть переданы мета-оценивателю с данным псевдонимом вместо оригинального названия.

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

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

Примечание

Этот метод актуален только в том случае, если этот оцениватель используется в качестве под-оценивателя мета-оценивателя, например, внутри Pipeline. В противном случае он не оказывает влияния.

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

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

Возвращает:
selfобъект

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

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.ensemble.BaggingClassifier.html

Spec-Zone.ru

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