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