BaggingRegressor
- classsklearn.ensemble.BaggingRegressor(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]
-
Регрессор с бэггингом.
Регрессор с бэггингом — это мета-оценщик ансамбля, который подбирает базовые регрессоры на случайных подмножествах исходного набора данных, а затем агрегирует их индивидуальные прогнозы (либо путем голосования, либо путем усреднения) для формирования окончательного прогноза. Такой мета-оценщик обычно может использоваться как способ уменьшения дисперсии черного ящика оценки (например, дерева решений), путем введения случайности в процедуру его построения, а затем создания ансамбля из него.
Этот алгоритм охватывает несколько работ из литературы. Когда случайные подмножества набора данных выбираются как случайные подмножества выборок, этот алгоритм известен как Pasting [1]. Если выборки извлекаются с возвращением, то метод известен как Bagging [2]. Если случайные подмножества набора данных выбираются как случайные подмножества признаков, то метод известен как Случайные подпространства [3]. Наконец, когда базовые оценки строятся на подмножествах как выборок, так и признаков, то метод называется Случайные наборы [4].
Подробнее см. в Руководстве пользователя.
Добавлен в версии 0.15.
- Параметры:
-
- estimatorобъект, по умолчанию=None
-
Базовая модель для подбора на случайных подмножествах набора данных. Если None, то базовой моделью является
DecisionTreeRegressor.Добавлен в версии 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 и добавить больше оценок в ансамбль, в противном случае просто обучить новый ансамбль. См. Словарь.
- n_jobsцелое число, по умолчанию=None
-
Количество задач, которые нужно запустить параллельно для
fitиpredict.Noneозначает 1, за исключением контекстаjoblib.parallel_backend.-1означает использование всех процессоров. См. Словарь для получения дополнительной информации. - random_stateцелое число, экземпляр RandomState или None, по умолчанию=None
-
Управляет случайной передискретизацией исходного набора данных (по выборкам и по признакам). Если базовая модель принимает атрибут
random_state, для каждого экземпляра в ансамбле генерируется другой seed. Передайте целое число для воспроизводимого результата в нескольких вызовах функций. См. Словарь. - 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_список массивов
-
Подмножество выбранных признаков для каждой базовой модели.
- oob_score_число с плавающей точкой
-
Оценка на обучающем наборе данных, полученная с помощью оценки вне суммарного образца. Этот атрибут существует только когда
oob_scoreравно True. - oob_prediction_массив формы (n_samples,)
-
Прогноз, вычисленный с помощью оценки вне суммарного образца на обучающем наборе. Если n_estimators невелико, возможно, что точка данных никогда не была исключена во время bootstrap. В этом случае
oob_prediction_может содержать NaN. Этот атрибут существует только когдаoob_scoreравно True.
См. также
BaggingClassifier-
Классификатор с бэггингом.
Ссылки
[1]L. Breiman, “Pasting small votes for classification in large databases and on-line”, Machine Learning, 36(1), 85-103, 1999.
[2]L. Breiman, “Bagging predictors”, Machine Learning, 24(2), 123-140, 1996.
[3]T. Ho, “The random subspace method for constructing decision forests”, Pattern Analysis and Machine Intelligence, 20(8), 832-844, 1998.
[4]G. Louppe and P. Geurts, “Ensembles on Random Patches”, Machine Learning and Knowledge Discovery in Databases, 346-361, 2012.
Примеры
>>> from sklearn.svm import SVR >>> from sklearn.ensemble import BaggingRegressor >>> from sklearn.datasets import make_regression >>> X, y = make_regression(n_samples=100, n_features=4, ... n_informative=2, n_targets=1, ... random_state=0, shuffle=False) >>> regr = BaggingRegressor(estimator=SVR(), ... n_estimators=10, random_state=0).fit(X, y) >>> regr.predict([[0, 0, 0, 0]]) array([-2.8720...])
- свойство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.
Предсказанное целевое значение регрессии входного образца вычисляется как среднее предсказанных целевых значений регрессии оценок в ансамбле.
- Параметры:
-
- X{массив-подобный, разреженная матрица} формы (n_samples, n_features)
-
Обучающие входные образцы. Разреженные матрицы принимаются только в том случае, если они поддерживаются базовой оценкой.
- Возвращает:
-
- yмассив NumPy формы (n_samples,)
-
Предсказанные значения.
- score(X, y, sample_weight=None)[source]
-
Возвращает коэффициент детерминации предсказания.
Коэффициент детерминации \(R^2\) определяется как \((1 - \frac{u}{v})\), где \(u\) — остаточная сумма квадратов, а \(v\) — общая сумма квадратов. Лучшее возможное значение равно 1.0, оно может быть отрицательным (потому что модель может быть произвольно хуже). Модель постоянства, которая всегда предсказывает ожидаемое значение, не учитывая входные признаки, получит значение \(R^2\) равное 0.0.
- Параметры:
-
- Xмассив-подобный формы (n_samples, n_features)
-
Тестовые образцы. Для некоторых оценок это может быть предварительно вычисленная матрица ядер или список общих объектов вместо этого с формой
(n_samples, n_samples_fitted), гдеn_samples_fitted— число образцов, используемых при обучении для оценки. - yмассив-подобный формы (n_samples,) или (n_samples, n_outputs)
-
Истинные значения для
X. - sample_weightмассив-подобный формы (n_samples,), по умолчанию=None
-
Веса образцов.
- Возвращает:
-
- scoreчисло с плавающей точкой
-
\(R^2\) для
self.predict(X)по отношению кy.
Примечания
Значение \(R^2\), используемое при вызове
scoreдля регрессора, используетmultioutput='uniform_average'с версии 0.23 для сохранения согласованности со значением по умолчаниюr2_score. Это влияет на методscoreвсех многовыходных регрессоров (кромеMultiOutputRegressor).
- set_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') BaggingRegressor[source]
-
Запрос метаданных, переданных методу
fit.Обратите внимание, что этот метод актуален только если
enable_metadata_routing=True, (см.sklearn.set_config). Пожалуйста, ознакомьтесь со Руководством пользователя для понимания принципов механизма маршрутизации.Варианты для каждого параметра:
-
True: метаданные запрашиваются и передаются вfit, если они предоставлены. Запрос игнорируется, если метаданные не предоставлены. -
False: метаданные не запрашиваются, и мета-оценщик не передаст их вfit. -
None: метаданные не запрашиваются, и мета-оценщик выведет ошибку, если пользователь их предоставит. -
str: метаданные должны передаваться мета-оценщику с заданным псевдонимом вместо оригинального имени.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняется текущий запрос. Это позволяет изменить запрос для одних параметров, но не для других.Добавлен в версии 1.3.
Примечание
Этот метод актуален только если этот оценщик используется в качестве под-оценщика мета-оценщика, например, внутри
Pipeline. В противном случае он не оказывает никакого влияния.- Parameters:
-
- sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
sample_weightвfit.
- Returns:
-
- selfobject
-
Обновленный объект.
-
- set_params(**params)[source]
-
Установка параметров этого оценщика.
Метод работает как с простыми оценщиками, так и с вложенными объектами (такими как
Pipeline). Последние имеют параметры вида<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Parameters:
-
- **paramsdict
-
Параметры оценщика.
- Returns:
-
- selfestimator instance
-
Экземпляр оценщика.
- set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') BaggingRegressor[source]
-
Запрос метаданных, переданных методу
score.Обратите внимание, что этот метод актуален только если
enable_metadata_routing=True, (см.sklearn.set_config). Пожалуйста, ознакомьтесь со Руководством пользователя для понимания принципов механизма маршрутизации.Варианты для каждого параметра:
-
True: метаданные запрашиваются и передаются вscore, если они предоставлены. Запрос игнорируется, если метаданные не предоставлены. -
False: метаданные не запрашиваются, и мета-оценщик не передаст их вscore. -
None: метаданные не запрашиваются, и мета-оценщик выведет ошибку, если пользователь их предоставит. -
str: метаданные должны передаваться мета-оценщику с заданным псевдонимом вместо оригинального имени.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняется текущий запрос. Это позволяет изменить запрос для одних параметров, но не для других.Добавлен в версии 1.3.
Примечание
Этот метод актуален только если этот оценщик используется в качестве под-оценщика мета-оценщика, например, внутри
Pipeline. В противном случае он не оказывает никакого влияния.- Parameters:
-
- sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
sample_weightвscore.
- Returns:
-
- selfobject
-
Обновленный объект.
-
Примеры из галереи
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.ensemble.BaggingRegressor.html